我打开了一个工作簿,正在尝试对另一个工作簿进行处理,但是在With语句中调用宏只会使其作用于我打开的工作簿,而不是我希望其执行的其他工作簿东西。
recaptchaData
我有数百个我需要使用的myfunction宏,并且不想进入并开始向其全部添加内容,实际上我无法触摸这数百个其他myfunction宏
答案 0 :(得分:1)
将要在其上运行此代码的工作表对象作为函数参数的一部分发送:
Sub Format_Another_Worksheet()
Dim wb As Workbook
Set wb = GetObject("C:\Users\john\Desktop\anotherworkbook.xls")
With wb.Worksheets("Sheet1")
.Cells.Font.Size = 14
Call myfunction("A", wb.Worksheets("Sheet1"))
End With
End Sub
Sub myfunction(col As String, ws as Worksheet)
ws.Range(col & "1").Font.Size = 30
End Sub
显然,这与With
无关,但是您的With
仅在调用它的子/函数中具有上下文。它不能通过函数调用继续存在。
答案 1 :(得分:0)
然后按名称寻址工作簿。
我有一个在两个工作簿之间工作的宏,我有这个:
Dim wbmaster As Workbook 'name for master workbook
Dim wbtarget As Workbook 'name for student workbook
wbmaster.Sheets("Answers_Source").Range("h1:z160").Copy
wbtarget.Sheets("ANSWERS").Range("h1:z160").PasteSpecial
所以它确切地知道该怎么做。