复制范围中的特定工作表名称

时间:2019-05-20 12:20:21

标签: excel vba

我需要帮助,希望这里有人可以帮助我:)

我有一本工作簿,可运行Avaya CMS的一些报告。它运行报告并在MAIN工作表中为每个人的姓名创建一个新工作表。 <<这部分很棒。

我的问题是我无法弄清楚如何使用MAIN工作表上的名称范围来仅选择那些特定工作表,然后将其复制到新的工作簿中。还有2个其他隐藏工作表。这就是为什么我认为使用名称范围会更容易,但目前我不接受任何内容。

以下是它的外观:

enter image description here

对不起,我不知道如何在此处上传工作簿,但希望图像应该足够好。谢谢您的时间和帮助!

这是带有隐藏工作表的图像。
Here's an image with the hidden sheets.

我需要它排除前3张纸/

这是代码:

Sub Macro1()
    Dim sheetArray() As String
    Dim i As Integer
    i = 0

    For Each c In MainSheet.Range("A2:A20").Cells
        ReDim Preserve sheetArray(0 To i)
        sheetArray(i) = c.Value
        i = i + 1
    Next
    Sheets(sheetArray).Select
End Sub

2 个答案:

答案 0 :(得分:0)

Sub move_Sheets()

Dim mSH As Worksheet
Set mSH = ThisWorkbook.Sheets("Main")

Dim shArray() As String
Dim i As Integer
i = mSH.Range("A" & Rows.Count).End(xlUp).Row
ReDim Preserve shArray(0 To i - 2)

For a = 2 To i
    shArray(a - 2) = mSH.Range("A" & a).Value
Next a

ThisWorkbook.Sheets(shArray).Move

End Sub

答案 1 :(得分:0)

您可以尝试:

jwk.JWK