使用 VBA 代码复制和粘贴数据
我在电子表格上有一个按钮,按下该按钮后,用户应该可以打开文件,然后复制电子表格“数据”的 AG 列,然后将这些列中的数据粘贴到当前工作表上。
我的代码有逻辑错误;它运行,但将选择粘贴到错误的位置。
我在引用这两本工作簿时遇到问题。
这是我的代码:
Sub Button1_Click()
Dim excel As excel.Application
Dim wb As excel.Workbook
Dim sht As excel.Worksheet
Dim f As Object
Set f = Application.FileDialog(3)
f.AllowMultiSelect = False
f.Show
Set excel = CreateObject("excel.Application")
Set wb = excel.Workbooks.Open(f.SelectedItems(1))
Set sht = wb.Worksheets("Data")
sht.Activate
sht.Columns("A:G").Select
Selection.Copy
Range("A1").Select
ActiveSheet.Paste
wb.Close
End Sub
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
使用 PasteSpecial 方法:
但是您的大问题是您将 ActiveSheet 更改为“数据”而不是将其更改回来。根据我的代码,您不需要执行激活和选择(这假设您的按钮位于要复制到的工作表上)。
Use the PasteSpecial method:
BUT your big problem is that you're changing your ActiveSheet to "Data" and not changing it back. You don't need to do the Activate and Select, as per my code (this assumes your button is on the sheet you want to copy to).
'所以从这次讨论中我认为这应该是代码。
“请告诉我这是否正确或遗漏了某个步骤。谢谢。
'So from this discussion i am thinking this should be the code then.
'Let me know if this is correct or a step was missed. Thx.