在 DataBodyRange 上使用 Columns 方法,该方法可以采用相对表范围,例如"A:B"
因此,如果您想要前两列,您可以编写:ActiveSheet.ListObjects("Table1").DataBodyRange.Columns("A:B").Select
但是,如果您想根据相对列号进行选择怎么办?创建一些函数来将数字转换为这个字符串:
Sub selectMultipe()
ActiveSheet.ListObjects("Table1").DataBodyRange.Columns(getRangeStr(1, 2)).Select
End Sub
'Get Range String
Function getRangeStr(startColNum As Long, endColNum As Long) As String
startCol = ColLtr(startColNum)
endCol = ColLtr(endColNum)
getRangeStr = startCol + ":" + endCol
End Function
'Convert column number to letter
Function ColLtr(iCol As Long) As String
If iCol > 0 And iCol <= Columns.Count Then ColLtr = Replace(Cells(1, iCol).Address(0, 0), 1, "")
End Function
注意:列号转字母功能可在此处找到