所以我是编写宏的新手所以请原谅我的任何无知。我查看了许多在线资源,找到了类似的代码,但没有任何内容符合我的要求。
我正在尝试在excel中创建一个表单,该表单会自动填充输入到单独工作表中的数据。数据表WorkSheet("Results")
具有跨行存储的数据,Row(Column A)
中的第一个单元格是数据标识符。表单WorkSheet("Audit Form")
需要输入的数据标识符来填充整个表单中的字段。
我需要的是一个代码,它将循环遍历Column A
中的单元格,将它们输入到审核表单上的字段中,然后将WorkSheet("Audit Form")
复制到新的工作簿,循环遍历每个WorkSheet("Results")
表格中的一行。这将由一个按钮驱动,该按钮将在选择后执行宏。优选地,如果用户要在其上使用过滤器,则代码将忽略表中的隐藏字段。
到目前为止,我编写的代码将遍历Column A
中的行并将它们粘贴到审计表单中的必填字段,它会将WorkSheet("Audit Form")
复制到新的工作簿,但审计表格是编译到新的WorkBook中只有第一个Row("A2")
的数据标识符,因此每个复制的审计表单都显示相同的数据。
我确信我错过了一些可以解决此问题的小代码,我感谢您提供的任何建议!
Sub testbutton()
Dim incell As Range, outcel As Range
Set outcel = Worksheets("Results").Range("A2")
Set incell = Sheets("Audit Form").Range("F29")
Do
incell.Value = outcel.Value
Sheets("Audit Form").Copy Before:=Workbooks("Book1").Sheets(1)
Set outcel = outcel.Offset(1, 0)
Loop
End Sub
答案 0 :(得分:0)
感谢有价值的反馈人员。
然而,似乎我能够解决我自己的问题。
以下代码供我参考,供我参考。
再次感谢!
Sub testbutton2()
Dim outcel As Range, incel As Range, rng As Range
Set outcel = Worksheets("Results").Range("A2")
Set incel = Worksheets("Audit Form").Range("F29")
Set rng = Worksheets("Results").Range("A2:A233")
For Each outcel In rng.SpecialCells(xlCellTypeVisible)
outcel.Copy
Sheets("Audit Form").Range("F29").PasteSpecial xlPasteValues
Sheets("Audit Form").Copy Before:=Workbooks("Book1").Sheets(1)
Next outcel
End Sub