如何在VBA中使用Like运算符?

我正在写一个macros,计算某个工作表中的列数,然后将此工作表内容复制到同一个工作簿中的工作表Sheet1。

Sub test() Dim LastCol As Long Set currentsheet = ActiveWorkbook.Sheets("Sheet1") LastCol = Sheets("APage").Range("A1").End(xlToRight).Column Sheets("APage").Range("1:1" & LastCol1).Copy currentsheet.Range("A2").PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=True End Sub 

"APage", "BPage", "10Page"在于表格名称可以是: "APage", "BPage", "10Page"等等。所以第一个可以是不同的,但是"Page"总是保留在表格名称中。 如何在VBA中正确使用a *来表示使用名称为Pages的所有表格,并在表格名称的尾部添加任何字母? 谢谢!

为了循环遍历所有使用通配符的工作表,你可以这样做:

 Sub LoopThroughWorksheets() Dim ws As Worksheet For Each ws In ActiveWorkbook.Worksheets If ws.Name Like "*Page" Then 'Do whatever with this particular sheet End If Next ws End Sub 

可悲的是你不能。 但是你可以使用类似的代码

 Dim ws As Excel.Worksheet For Each ws In ActiveWorkbook.Worksheets If InStr(ws.Name, "Page") > 0 Then 'ws is a worksheet with the text 'Page' in its name End If Next 

Sheets集合中没有通配符search。 你需要遍历它们,例如:

 Dim ws As Worksheet For Each ws In ActiveWorkbook.Worksheets If InStr(ws.Name, "Page") > 0 Then ... End If Next