我是VBA的新手,并且对我的代码不起作用有疑问。首先,总结一下...我已经将数据粘贴到单元格A2到F(不确定行)中。第1行是未更改的标头。粘贴数据后,宏将选择单元格G2和H2,并将其复制到粘贴数据的末尾。单元格G2和H2中有IF公式...如果条件为假,则将其保留为空白。
这是我的宏代码起作用的地方。
下面的代码遍历G列以查找值(非空白),并将单元格G,C和E复制到另一个工作表,并分别粘贴到单元格D,B和C中。该代码适用于数据的第一行,但似乎并未遍历G列的其余部分。为了使此功能正常工作,我们将不胜感激任何帮助。
并且由于这是我在任何帮助站点上的第一篇帖子,请原谅这篇帖子的任何违规行为,并请让我知道我做错了什么,因此我将不再做。谢谢
Sub XFerData()
Dim RowGCnt As Long, CShtRow As Long
Dim CellG As Range
RowGCnt = 2
CShtRow = 4
Set CellG = Range("G2:G" & RowGCnt)
For Each Cell In CellG.Cells
If Range("G" & RowGCnt).Value <> "" Then
Worksheets("Plate Kit-Frame").Range("G" & RowGCnt).Copy
Worksheets("Cutting Sheet").Range("D" & CShtRow).PasteSpecial xlPasteValues
Worksheets("Plate Kit-Frame").Range("C" & RowGCnt).Copy
Worksheets("Cutting Sheet").Range("B" & CShtRow).PasteSpecial xlPasteValues
Worksheets("Plate Kit-Frame").Range("E" & RowGCnt).Copy
Worksheets("Cutting Sheet").Range("C" & CShtRow).PasteSpecial xlPasteValues
CShtRow = CShtRow + 1
RowGCnt = RowGCnt + 1
End If
Next
End Sub
Sub XFerData()
Dim RowGCnt As Long, CShtRow As Long
Dim LastRow As Long
Dim CellG As Range
CShtRow = 4
LastRow = ActiveSheet.Range("A" & Rows.Count).End(xlUp).Row
For RowGCnt = 2 to LastRow
If Range("G" & RowGCnt).Value <> "" Then
Worksheets("Plate Kit-Frame").Range("G" & RowGCnt).Copy
Worksheets("Cutting Sheet").Range("D" & CShtRow).PasteSpecial xlPasteValues
Worksheets("Plate Kit-Frame").Range("C" & RowGCnt).Copy
Worksheets("Cutting Sheet").Range("B" & CShtRow).PasteSpecial xlPasteValues
Worksheets("Plate Kit-Frame").Range("E" & RowGCnt).Copy
Worksheets("Cutting Sheet").Range("C" & CShtRow).PasteSpecial xlPasteValues
CShtRow = CShtRow + 1
End If
Next RowGCnt
End Sub
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句