【发布时间】:2012-08-24 00:13:51
【问题描述】:
我想创建一个 VBA 子例程,在表中搜索名为“Phonetic Name”的第一列标题。然后在右下角的表格中找到绝对最后一个单元格,并存储一个变量作为最后一个单元格上方一行的单元格坐标。然后子程序将选择第一个单元格“Phonetic Name”和“LastCell”变量之间的所有单元格。
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 友好的方式重写此逻辑?
【问题讨论】:
-
那段代码有什么问题?
-
我认为
ActiveSheet.Range(TL,LastCell).Copy是您要查找的内容(但请从.Find()行的末尾删除.Row)