我想从另一个工作簿中检索一列值并填充当前工作簿中的选项卡。这最终将进入我编写的一个更长的模块,该模块运行良好。我只是希望这一步自动化。以下是代码。
我得到一个下标超出范围粘贴行出错。似乎我的语句设置currentWb
不起作用ThisWorkbook
,因为要复制的第二个工作簿仍处于打开状态,所选区域已选中并复制,只等待粘贴目标。我搜索并尝试了所有能想到的方法。
Sub OpenWorkbookToPullData()
Dim sUserInput As String
sUserInput = InputBox("Enter Account Folder Name:", "Folder Name")
Dim path As String
path = "C:\users\" & Environ$("username") & "\OneDrive\Documents\Brightree\" & sUserInput & "\Financial Scorecard\Exceptions.xlsm"
Dim currentWb As Workbook
Set currentWb = ThisWorkbook
Dim exceptionWb As Workbook
Set exceptionWb = Workbooks.Open(path)
Dim exceptionWs As Worksheet
Set exceptionWs = exceptionWb.Sheets("Exceptions")
Dim rng_data As Range
Set rng_data = exceptionWs.Range("A1:A20")
rng_data.Copy
currentWb.Sheets("Exception").Range("A1").PasteSpecial xlPasteValues
exceptionWb.Close (False)
End Sub
答案1
你必须确保表格(“例外”)存在于两个都工作簿。
并且扭曲指出;检查工作表名称的拼写。