30個有用的Excel VBA代碼(21~25)

30個有用的Excel VBA代碼(21~25)

21.突出顯示所選數據集中的空白單元格

雖然可以使用條件格式或“轉到特殊”對話框突出顯示空白單元格,但如果必須經常這樣做,最好使用宏。

創建後,你可以將代碼保存在個人宏工作簿中。

Sub HighlightBlankCells() 
Dim Dataset As Range
Set Dataset = Selection Dataset.SpecialCells(xlCellTypeBlanks).Interior.Color = vbRed
End Sub

在這個代碼中,指定了紅色單元格中要突出顯示的空白單元格。

22.按單列對數據排序

可以使用下面的代碼按指定列對數據排序。

Sub SortDataHeader() 
Range("DataRange").Sort Key1:=Range("A1"), Order1:=xlAscending, Header:=xlYes
End Sub

請注意,我創建了一個名為“datarange”的命名範圍,並使用它來代替單元格引用。

這裡還使用了三個關鍵參數:參照之前的文章

23.按多列對數據排序

下面是將根據多個列對數據排序的代碼(A列先排序,在進行B列排序)。

Sub SortMultipleColumns() 
With ActiveSheet.Sort
.SortFields.Add Key:=Range("A1"), Order:=xlAscending
.SortFields.Add Key:=Range("B1"), Order:=xlAscending
.SetRange Range("A1:C13")
.Header = xlYes .Apply
End With
End Sub

注意,這個代碼指定了首先根據A列排序,然後根據B列排序

24.如何只從字符串中獲取數字部分

如果只從字符串中提取數字部分或文本部分,則可以在VBA中創建自定義函數.

然後,您可以在工作表中使用這個vba函數(就像普通的Excel函數一樣),它將只從字符串中提取數字或文本部分.

下面是將創建函數從字符串中提取數字部分的VBA代碼:

Function GetNumeric(CellRef As String) 
Dim StringLength As Integer
StringLength = Len(CellRef)
For i = 1 To StringLength
If IsNumeric(Mid(CellRef, i, 1)) Then
Result = Result & Mid(CellRef, i, 1)
End If
Next i
GetNumeric = Result
End Function

您需要將代碼放入模塊中,然後可以在工作表中使用函數"=GetNumeric".

此函數只接受一個參數,即要從中獲取數值部分的單元格的單元格引用。

25.總是在激活特定選項卡的情況下打開工作簿

如果要打開一個工作簿,該工作簿總是在特定工作表的情況下打開,則可以使用以下代碼。

當您希望在工作簿打開時激活指定工作表時,這將非常有用。

Private Sub Workbook_Open() 
Sheets(“Sheet1”).Select
End Sub

請注意,此代碼需要放在ThisWorkbook對象的“代碼”窗口中

這意味著當您在VB編輯器中時,需要雙擊此工作簿對象並複製粘貼其中的代碼。

私信 SQL 可以獲取SQL代碼的Excel文件

私信 視頻 可以獲取54集VBA入門視頻

私信 VBA或 vba 可以獲取文章中含VBA代碼的Excel文件


分享到:


相關文章: