使用另一个工作簿工作表,此宏说要执行此操作

时间:2019-05-13 13:03:01

标签: excel with-statement

我打开了一个工作簿,正在尝试对另一个工作簿进行处理,但是在With语句中调用宏只会使其作用于我打开的工作簿,而不是我希望其执行的其他工作簿东西。

recaptchaData

我有数百个我需要使用的myfunction宏,并且不想进入并开始向其全部添加内容,实际上我无法触摸这数百个其他myfunction宏

2 个答案:

答案 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

所以它确切地知道该怎么做。