我试图实现一个简单的Excel-VBA宏,让用户在文件资源管理器中浏览另一个工作簿,然后将该工作簿中的某些单元格复制到我的活动工作簿中。下面是我的简短代码:
Sub Load_AutoCADBOM()
Dim wbk As Workbook
Dim MyFile As String
MyFile = Application.GetOpenFilename()
If MyFile <> "False" Then
Set wbk = Workbooks.Open(MyFile)
With wbk.Sheets(1)
Range("B2:C43").Copy
End With
ActiveWorkbook.Close
With ThisWorkbook.Worksheets("Config")
Range("A6:B47").PasteSpecial Paste:=xlPasteValues
End With
End If
End Sub
该宏用于从所选工作簿(B2:C43)复制单元格,并将其复制到当前工作簿“配置”表上的单元格(A6:B47)中。当我运行宏时,我得到“运行时错误'1004':Range类的PasteSpecial方法失败”。调试器突出显示行:
Range("A6:B47").PasteSpecial Paste:=xlPasteValues
如果只想复制值,则可以跳过复制/粘贴,直接从源范围设置值:
Sub Load_AutoCADBOM()
Dim wbk As Workbook
Dim MyFile As String
MyFile = Application.GetOpenFilename()
If MyFile <> "False" Then
Set wbk = Workbooks.Open(MyFile)
With wbk.Sheets(1).Range("B2:C43")
ThisWorkbook.Worksheets("Config").Range("A6").Resize(.rows.count, .columns.count).value = .Value
End With
wbk.Close
End If
End Sub
一旦进入,它从新打开的工作簿中调用另一个子例程,子例程运行良好(需要2-3分钟),但随后代码自动退出循环(我的意思是它不打开循环中的下一个文件)。是因为被调用宏的处理时间吗?我可以用一些关于这个问题的见解,这将是非常有帮助的。提前致谢:) 末端接头
我似乎有一个错误,我正在努力找出原因。我已经尝试了帮助部分,也尝试在线研究它,但没有得出任何结果。我希望有人能够帮助我解决这个问题。 问题 我在电子表格上为不同的工作表创建了多个表单。我做了表格,可以用来隐藏/显示用户的判断选择列。我有两种形式可以很好的工作,但是第三种。 我得到 运行时错误438“对象不支持此属性或方法” 这是什么意思?代码与其他表单完全相同。它们之间唯一的区别是床单的名称不同。
我一直在为我的公司开发一个Excel宏,该宏打开几个工作簿,分析它们的特定信息行,存储该行,然后在完成每个工作簿后,在两个页面中的一个页面上设置单个工作簿中单元格的水平选择值。我遇到的问题是,在尝试选择第二个页面时,我需要将数据放在上面,我得到一个运行时错误1004。 我可以做什么来修复这个错误?
我在上面有一个问题:我使用了提供的答案,但仍然击中了一个对象错误。你能看到我错过了什么吗?我在“cash_sheet.range(”C8“).pastespecial xlpastevalues”处找到了错误
所以在问这个之前,我搜索并发现了一些与我在这里想要做的相似的事情。 基本上我有工作簿AlphaMaster。这个工作簿是一个模板,我想用它来创建每周的新工作簿。 在本工作簿中,有名为“周一至周六”的工作表,以及带有相应日期的周一、周二等其他工作表。 我创建了一个在打开工作簿时加载的表单。我想要的是当我单击表单运行时,它将: > 将代码保存模板作为新工作簿运行 根据userform1的输入重命名工作