vba - Excel VBA : Consolidate the iterating group in "For Each" block

标签 vba excel foreach

我发现对于我的示例来说,两个数组的串联/追加是一个过于繁琐的过程。但是如何在单个 block 中使用 For Each 迭代两个工作表数组(如何缩短以下代码)?

arr1 = Array("Sheet2", "Sheet3")
arr2 = Array("Sheet5", "Sheet6")

For Each sh In Sheets(arr1)
sh.Visible = True
Next sh

For Each sh In Sheets(arr2)
sh.Visible = True
Next sh

最佳答案

您始终可以将小型数组组合 super 数组。例如:

Sub Klai()
    arr1 = Array("Sheet2", "Sheet3")
    arr2 = Array("Sheet5", "Sheet6")

    arr3 = Array(arr1, arr2)

    For Each a In arr3
        For Each b In a
            MsgBox Sheets(b).Name
            Sheets(b).Visible = True
        Next b
    Next a
End Sub

关于vba - Excel VBA : Consolidate the iterating group in "For Each" block,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38420965/

相关文章:

vba - 在一组列中查找最后一行

vba - Excel - 返回所选选项按钮的标题

c# - 在不依赖 Azure 云服务的情况下读写 Excel 的最佳方式?

java - 增强的 for 循环背后发生了什么?

java - 打印的数组元素显示为地址?

VBA Worksheet_SelectionChange 不起作用

excel - 根据当前年份和月份查找文本字符串 yyyymm

excel - AVERAGEIFS 不起作用,但 AVERAGE(IF( 起作用

c# - 无法从格式为 25-OCT-13 01.08.24.732000000 PM 的 Excel 文件解析 asp.net 中的日期时间

javascript - 使用 forEach 将 Promise 添加到 gulp 任务