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編輯器中時,需要雙擊此工作簿對象並複製粘貼其中的代碼。