【发布时间】:2020-04-10 02:35:19
【问题描述】:
需要一些帮助。我有一个模板,可以将数据从不同的程序导出到其中。数据行因导出而异,每次导出都需要一个新工作簿。
目前,我编写了一个“主”宏来清理工作表(格式、文本到数字等),并在每行包含数据的末尾添加复选框。这些复选框链接到一个单元格。操作员完成工作表后,他们将需要为每行“超出规格”的数据选中一个复选框。然后,这些行将被复制到工作簿的下一张工作表中。这是由按钮触发的。当我只想复制“A”到“I”列中的单元格时,我当前的宏除了复制整行数据之外还可以工作。 “J”列和列中的单元格包含不需要复制的数据。
这是我当前的宏,就像我说的那样,复制整行:
Sub CopyRows()
Dim LRow As Long, ChkBx As CheckBox, WS2 As Worksheet
Set WS2 = Worksheets("T2 FAIR (Single Cavity)")
LRow = WS2.Range("A" & Rows.Count).End(xlUp).Row
For Each ChkBx In ActiveSheet.CheckBoxes
If ChkBx.Value = 1 Then
LRow = LRow + 1
WS2.Cells(LRow, "A").Resize(, 14) = Range("A" & _
ChkBx.TopLeftCell.Row).Resize(, 14).Value
End If
Next
End Sub
【问题讨论】:
-
如果您只想复制
A-I,请将调整大小更改为 9 -
技术上你现在没有复制整行,只是
A-N -
我明白了……看起来好像我在复制整行,但实际上,我只是在复制前 14 列。谢谢!
-
有人介意查看上面的“REVISED”宏并告诉我有什么问题吗?我收到 Excel VBA 400 错误。谢谢!
-
我可以在这里发誓吗?大声笑,我会假设没有,然后……你是那个男人!!!! .value 是门票。再次感谢人!!!