美好的一天。
我正在尝试编写一个基本上从" A - M"中选择单元格(从左到右)的代码。和(向下)直到最后一次使用的行 然后,一旦被选中,我就将它们复制到另一本工作簿中。
这是我尝试使用的代码:
3 * ( ($i + $j * 2 ) % 3 > 0 ) - ( ( $i + $j * 2 ) % 3 ) $i $j
--------------------------------------------------------
3 * ( ( 0 + 0 * 2 ) % 3 > 0 ) - ( ( 0 + 0 * 2 ) % 3 ) 0 0
3 * ( ( 0 ) % 3 > 0 ) - ( ( 0 ) % 3 )
3 * ( 0 ) - ( 0 ) = 0
3 * ( ( 0 + 1 * 2 ) % 3 > 0 ) - ( ( 0 + 1 * 2 ) % 3 ) 0 1
3 * ( ( 2 ) % 3 > 0 ) - ( ( 2 ) % 3 )
3 * ( 1 ) - ( 2 ) = 1
3 * ( ( 0 + 2 * 2 ) % 3 > 0 ) - ( ( 0 + 2 * 2 ) % 3 ) 0 2
3 * ( ( 4 ) % 3 > 0 ) - ( ( 4 ) % 3 )
3 * ( 1 ) - ( 1 ) = 2
--------------------------------------------------------
3 * ( ( 1 + 0 * 2 ) % 3 > 0 ) - ( ( 1 + 0 * 2 ) % 3 ) 1 0
3 * ( ( 1 ) % 3 > 0 ) - ( ( 1 ) % 3 )
3 * ( 1 ) - ( 1 ) = 2
3 * ( ( 1 + 1 * 2 ) % 3 > 0 ) - ( ( 1 + 1 * 2 ) % 3 ) 1 1
3 * ( ( 3 ) % 3 > 0 ) - ( ( 3 ) % 3 )
3 * ( 0 ) - ( 0 ) = 0
3 * ( ( 1 + 2 * 2 ) % 3 > 0 ) - ( ( 1 + 2 * 2 ) % 3 ) 1 2
3 * ( ( 5 ) % 3 > 0 ) - ( ( 5 ) % 3 )
3 * ( 1 ) - ( 2 ) = 1
--------------------------------------------------------
3 * ( ( 2 + 0 * 2 ) % 3 > 0 ) - ( ( 2 + 0 * 2 ) % 3 ) 2 0
3 * ( ( 2 ) % 3 > 0 ) - ( ( 2 ) % 3 )
3 * ( 1 ) - ( 2 ) = 1
3 * ( ( 2 + 1 * 2 ) % 3 > 0 ) - ( ( 2 + 1 * 2 ) % 3 ) 2 1
3 * ( ( 4 ) % 3 > 0 ) - ( ( 4 ) % 3 )
3 * ( 1 ) - ( 1 ) = 2
3 * ( ( 2 + 2 * 2 ) % 3 > 0 ) - ( ( 2 + 2 * 2 ) % 3 ) 2 2
3 * ( ( 6 ) % 3 > 0 ) - ( ( 6 ) % 3 )
3 * ( 0 ) - ( 0 ) = 0
--------------------------------------------------------
3 * ( ( 3 + 0 * 2 ) % 3 > 0 ) - ( ( 3 + 0 * 2 ) % 3 ) 3 0
3 * ( ( 3 ) % 3 > 0 ) - ( ( 3 ) % 3 )
3 * ( 0 ) - ( 0 ) = 0
3 * ( ( 3 + 1 * 2 ) % 3 > 0 ) - ( ( 3 + 1 * 2 ) % 3 ) 3 1
3 * ( ( 5 ) % 3 > 0 ) - ( ( 5 ) % 3 )
3 * ( 1 ) - ( 2 ) = 1
3 * ( ( 3 + 2 * 2 ) % 3 > 0 ) - ( ( 3 + 2 * 2 ) % 3 ) 3 2
3 * ( ( 7 ) % 3 > 0 ) - ( ( 7 ) % 3 )
3 * ( 1 ) - ( 1 ) = 2
--------------------------------------------------------
(...)
除此行外,代码中的其他所有内容都有效 结果如下:
ActiveWorkbook.Worksheets("Sheet1").Range("A1:M" & LastRow).Copy _
Workbooks("Converter.xlsm").Worksheets("Sheet1").Range("A1").CurrentRegion
感谢。
PS。 " LastRow"我使用的变量,我只是从教程中提取出来的。这不是个人用户定义的变量,所以我不确定这是否真的来自VBA的文档。
答案 0 :(得分:0)
您提到您没有LastRow的计算。
Option Explicit
放在模块的顶部。它会强制你声明你的变量,并且会帮助你识别你从另一个编码器得到的东西是否是内置的#34;或不。在该帖子中,您应该在代码行之前进行如下计算......
LastRow = Sheets("Sheet1").Range("A" & Sheets("Sheet1").Rows.Count).End(xlUp).Row
答案 1 :(得分:0)
请关闭所有工作簿并重新打开,然后尝试使用以下代码
Sub test()
Dim lastrow As Long
lastrow = Range("A" & Rows.Count).End(xlUp).Row
ActiveWorkbook.Worksheets("Sheet1").Range("A1:M" & lastrow).Copy Workbooks("Converter.xlsm").Worksheets("Sheet1").Range("A1")
End Sub