我在电子表格上有一个按钮,当按下它时,应该允许用户打开一个文件,然后复制电子表格“数据”的A-G列,然后将这些列中的数据粘贴到当前工作表上。
我在代码中有一个逻辑错误;它会运行,但会将所选内容粘贴到错误的位置。
我在引用这两本练习册时遇到了麻烦。
下面是我的代码:
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
3条答案
按热度按时间2ekbmq321#
使用PasteSpecial方法:
但是你的大问题是你把你的ActiveSheet改为“数据”,而不是把它改回来。你不需要做激活和选择,按照我的代码(这假设你的按钮是在工作表上,你要复制)。
sy5wg1nm2#
“所以从这次讨论中,我认为这应该是代码。
“让我知道这是正确的还是遗漏了一个步骤。谢谢
iyzzxitl3#
如果您正在尝试使用活动单元格。即不是Range()。
示例: