excel - 用另一个工作表做这个宏说要做的事情
问题描述
我打开了一个工作簿,我正在尝试对另一个工作簿执行操作,但是在 With 语句中调用宏只会使其作用于我打开的工作簿,而不是我希望它执行的其他工作簿。
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")
End With
End Sub
Sub myfunction(col As String)
Range(col & "1").Font.Size = 30
End Sub
我有数百个我需要使用的 myfunction 宏并且不想进入并开始向它们全部附加东西,事实上我无法触及这数百个其他 myfunction 宏
解决方案
将要在其上运行此代码的工作表对象作为函数参数的一部分发送:
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
在调用它的子/函数中只有上下文。它不能通过函数调用继续存在。
推荐阅读
- javascript - 在 jQuery 中为滑块计数器添加向下滑动效果
- javascript - 如何格式化我的 api 调用以在谷歌电子表格中发布?
- java - Gradle 如何解决库版本冲突?
- azure - 是否可以直接使用 MQTT 通过 Azure 设备预配服务重新预配设备?
- javascript - 将变量传递给 str.match 以将字符串分段为所需的长度
- apache-spark - 是否可以为每个节点分配一个执行程序来运行火花任务
- date - Snowflake TIMESTAMP - 将毫秒值保留为 .000000,存储在表中
- google-maps - AutocompleteSupportFragment 不起作用消息“无法加载搜索结果”Android
- python - 如何在 numpy 数组中进行选择
- java - 为什么 JFrame 中的绘图颜色没有更新?