【发布时间】:2022-10-24 16:53:19
【问题描述】:
我正在尝试为应该在给定工作表上找到总计的程序获取正确的范围。我在语法上有点挣扎。
我想总是在最后一列数据之外选择一列,然后用从第 4 行开始的数据自动填充该列。我在这里做错了。
Dim LastColumn As Long
Dim LastRow As Long
LastColumn = ActiveSheet.Cells.Find("*", SearchOrder:=xlByColumns, SearchDirection:=xlPrevious).Column
LastRow = ActiveSheet.Cells.Find("*", SearchOrder:=xlByRows, SearchDirection:=xlPrevious).Row
Cells(LastColumn + 1).Select
ActiveWorkbook.ShowPivotTableFieldList = False
Selection.Copy
Application.CutCopyMode = False
ActiveCell.FormulaR1C1 = "Percent Total"
ActiveCell.FormulaR1C1 = "=RC[-1]/R34C[-1]"
Selection.AutoFill Destination:=Range(LastColumn & "4" & ":" & LastColumn & LastRow)
我收到语法错误。 Range 类的 AutoFill 方法失败了,所以我知道是那条线。
这就是我要找的东西。在示例中,列 AD 被创建并填充了简单除法的数据。
【问题讨论】:
-
提示:
Debug.Print LastColumn & "4" & ":" & LastColumn & LastRow并检查立即窗口中的输出。 -
@BigBen 我看到 304:3035。所以我明白为什么这是错误的。如何将数字变成字母?我可以看到它只是将它们组合成巨大的字母。最后一列是 30,最后一行是 35。