在Excel VBA中select范围

我想创build一个VBA子例程,在表中search名为“Phonetic Name”的第一个列标题。 然后find表格右下angular的绝对最后一个单元格,并在最后一个单元格的上一行存储一个variables作为单元格坐标。 子程序将select第一个单元格“Phonetic Name”和“LastCell”variables之间的所有单元格。

Dim LastCol As Integer TL = ActiveSheet.Range("A:A").Find("Phonetic Name", LookIn:=xlValues, LookAt:=xlWhole, MatchCase:=True).Row Set LastRow = Cells.Find("*", [a1], , , xlByRows, xlPrevious) With ActiveSheet LastCol = .Cells(TL, .Columns.Count).End(xlToLeft).Column End With Set LastCell = ActiveSheet.Cells(LastRow.Row - 1, LastCol) 'I would like to do something like the following... ActiveSheet.Range("TL:LastCell").Select Selection.Copy 

如何以VBA友好的方式重写这个逻辑?

 Dim LastCol As Integer Dim TL as Range Set TL = ActiveSheet.Range("A:A").Find("Phonetic Name", _ LookIn:=xlValues, LookAt:=xlWhole, MatchCase:=True) If Not TL Is Nothing Then Set LastRow = Cells.Find("*", [a1], , , xlByRows, xlPrevious) With ActiveSheet LastCol = .Cells(TL.Row, .Columns.Count).End(xlToLeft).Column End With Set LastCell = ActiveSheet.Cells(LastRow.Row - 1, LastCol) ActiveSheet.Range(TL,LastCell).Copy End If