vba - VBA:用于数组的 For 循环给出错误
问题描述
下面的代码给了我“对于数组上的每个控制变量必须是 Variant”错误。但是 ws_names 是一个变体数组,如果我没记错的话。有人可以解释一下吗?谢谢!
Public Sub test12()
Dim ws_names() As Variant
ws_names = Array("Sheet2", "Sheet3")
Dim ws_name As String
For Each ws_name In ws_names()
ThisWorkbook.Worksheets(ws_name).Visible = False
Next ws_name
End Sub
解决方案
您不需要遍历数组
Dim ws_names() As Variant
ws_names = Array("Sheet2", "Sheet3")
Sheets(ws_names).Visible = False
您也可以使用一个衬里
Sheets(Array("Sheet2", "Sheet3")).Visible = False
推荐阅读
- python-3.x - 同时最小化两个函数
- java - invokevirtual 是否会破坏 Java 上的标量替换?
- laravel - 无法将更改推送到 cpanel 托管的存储库
- swift - SceneKit - 自定义几何图形上的拉伸纹理
- html - 无法使标题变小
- python - zarr 不考虑来自 xarray 的块大小并恢复为原始块大小
- python - Python:请求中的 URL 超出了最大重试次数
- java - HttpSession 对象的问题 = request.getSession(); JSP
- android - 我的 Widget id 在 Android Studio 中显示错误
- javascript - 将 Jquery Javascript 文件导入 Web 应用程序时出错