【发布时间】:2014-01-22 18:46:18
【问题描述】:
我编写了一些查看列的 VBA 代码,找到该列中包含数据的下一个单元格,并将两者之间的单元格设置为一个范围。这最初是为 Excel 2003 工作簿编写的。当然,相同的命令不适用于 2007 年及更高版本的工作簿。任何人都可以帮助为 2010 Excel VBA 翻译此内容。
这是原始代码:
Dim first As Integer
Dim Last As Integer
Dim i As Integer
Dim n As Integer
n = Worksheets("Sheet1").Range("A:A").Cells.SpecialCells(xlCellTypeConstants).Count - 2
Range("A3").Select
For i = 1 To n
first = (ActiveCell.Row + 1)
Selection.End(xlDown).Select
Last = (ActiveCell.Row - 1)
Range("J" & first & ":J" & Last).Select
Selection.Value = "=J$" & (first - 1)
Range("A" & Last + 1).Select
Next i
当我在 Excel 2010 中运行它时。不是在 A 列中查找包含数据的下一个单元格,而是选择整个列。
提前致谢。
【问题讨论】:
-
该代码并没有按照您的想法执行。你能展示一些示例数据和示例输出吗?
-
我会尽量清除它。它是更大宏的一部分。当我这样做时,让我更好地解释一下它在做什么:
-
让我稍微解释一下它在做什么:从单元格 A3 开始。将 A3 (A4) 下面的单元格分配给变量 First。向下移动到 A 列中包含信息的下一个单元格,然后备份 1 行。将该行号分配给变量 First。在 J 列中 - 选择 - J(First) : J(Last)。在每个单元格中,使单元格值等于 J(First)。
标签: vba select excel-2007 excel-2010