我必须为在excel中工作的宏创建一个宏,并且迷路了,并且想知道yall是否可以提供帮助。
所以我有两个工作簿。第一个工作簿(TEST)具有我需要打印的表格,第二个工作簿(硬币测试)具有原始数据。我在表单工作簿中有一个单元格,如果我从原始数据工作簿中粘贴项目编号,它将通过公式自动从原始数据表中提取所有项目信息,并填写表格(项目编号,项目规格,商品价格等)。
所以我需要做的是自动转到原始数据表,从C1复制第一个项目号,然后转到表单工作簿,然后将该项目号粘贴到单元格J2中,在此它会自动填写表单然后打印该表格,然后返回到原始数据工作簿,然后转到下一个项目编号,然后冲洗并重复。我试图将代码拼凑在一起,到目前为止,这是我的怪物。谢谢大家的帮助
Sub Macro4()
'Macro4 Macro
Sheets("TESTING").Select
Selection.Copy
Sheets("COIN TESTING").Select
ActiveSheet.Paste
For Each Cell In Range("C$:C$")
If Cell.Value = vbNullString Then Exit For
Range("C$:C$").Value = Cell.Value
Cell.Offset(1, 0).Value = Range("J2").Value
Next
End Sub
答案 0 :(得分:0)
未经测试:
Sub Macro4()
Dim c As Range, rng As Range
'get the range to loop over
with Sheets("COIN TESTING")
Set rng = .Range("C1:C" & .cells(.rows.count,3).end(xlUp).Row)
end with
'process each cell in turn
For each c in rng.cells
'is there a value to transfer?
If Len(c.value) > 0 then
'directly assign the value - no need for copy/paste
Sheets("TESTING").Range("J2").Value = c.value
'calculate and print out sheet
Sheets("TESTING").UsedRange.Calculate 'refresh formulas
Sheets("TESTING").PrintOut
End if
Next c
End Sub