【问题标题】:Pasting cells from table into an Excel form将表格中的单元格粘贴到 Excel 表单中
【发布时间】:2015-03-25 23:22:19
【问题描述】:

所以我是编写宏的新手,所以请原谅我的任何无知。我浏览了许多在线资源以找到类似的代码,但没有任何符合我需要的代码。

我正在尝试在 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

【问题讨论】:

  • 您能展示一下您的数据是如何组织的吗?我认为这可以在不循环的情况下简化。显示源数据(简化),然后显示要填充的表单或模板工作表。您可以在任何免费图片托管网站(例如imgur.com)上传屏幕截图,然后在您的问题中发布链接。
  • 您能否edit 您的问题并打破巨大的文字墙以包含一些段落中断?当你说话的时候,你偶尔会停下来喘口气;写作时也应该这样做。
  • 添加 Set incell = incell.Offset(1, 0) 怎么样?
  • 所以你意识到你有一个不循环的循环? Do 和 Loop 都没有定义执行循环的任何标准。它只是“失败”一次。因此,实际上您似乎只是将“Results!A2”复制到“Audit Form!F29”中......只是那个单元格。您没有循环“遍历 A 列中的单元格”来引用您的问题。

标签: vba excel


【解决方案1】:

感谢各位提供宝贵意见。

但是,我似乎能够解决我自己的问题。

供您参考,下面的代码是我能够组合起来工作的。

再次感谢!

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-07-07
    • 2014-06-15
    • 1970-01-01
    • 2017-04-18
    • 2017-10-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多