Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Excel 具有可变值的数组-VBA_Excel_Vba - Fatal编程技术网

Excel 具有可变值的数组-VBA

Excel 具有可变值的数组-VBA,excel,vba,Excel,Vba,在下面的代码中,我们可以将Sheet1-Sheet4置于选择模式并复制。 但这里的重点是纸张的数量不同。每次更改文件时,图纸数量都会减少或增加。我只想复印一张。。。。n,并非所有纸张。(每一张带有名称的“工作表”。 如何针对此问题更正此代码 Worksheets(Array("Sheet1", "Sheet2", "Sheet4")).Copy 为了记录在案,这里有第一个解决方案 Dim sht As Worksheet For Each sht In Worksheets If

在下面的代码中,我们可以将Sheet1-Sheet4置于选择模式并复制。 但这里的重点是纸张的数量不同。每次更改文件时,图纸数量都会减少或增加。我只想复印一张。。。。n,并非所有纸张。(每一张带有名称的“工作表”。 如何针对此问题更正此代码

Worksheets(Array("Sheet1", "Sheet2", "Sheet4")).Copy

为了记录在案,这里有第一个解决方案

Dim sht As Worksheet

For Each sht In Worksheets
    If sht.Name Like "Sheet*" Then
        If Not ActiveSheet.Name Like "Sheet*" Then sht.Activate
        sht.Select False
    End If
Next
ThisWorkbook.Windows(1).SelectedSheets.Copy

为了记录在案,这里有第一个解决方案

Dim sht As Worksheet

For Each sht In Worksheets
    If sht.Name Like "Sheet*" Then
        If Not ActiveSheet.Name Like "Sheet*" Then sht.Activate
        sht.Select False
    End If
Next
ThisWorkbook.Windows(1).SelectedSheets.Copy

你的目标是什么??你想复制工作簿中的所有工作表吗???解释你的目标…问题的文本已更正。我希望你理解我的意思。你的目标是什么??你想复制工作簿中的所有工作表吗???解释你的目标…问题的文本已更正。我希望你理解我的意思。我测试了你的答案代码。如果您的工作表不是工作表(例如S),则所有工作表都将被复制。请尝试并报告结果。实际上,这是您报告的行为。它可以管理,但会破坏第一个解决方案“样式”。因此,请参阅编辑后的代码,以获得更为传统的解决方案。欢迎使用。您可以查看修改后的第一个解决方案的编辑后的答案,以应对您遇到的情况noticed@DisplayName很好的解决方案。我忘记了
工作表。选择False
。我错过了OP的帖子。我测试了你的代码。如果你在工作表以外的工作表上(例如s),然后复制所有工作表。请尝试报告结果。实际上,这是您报告的行为。它可以管理,但会破坏第一个解决方案“样式”。因此,请参阅编辑后的代码,以获得更为传统的解决方案。欢迎使用。您可以查看修改后的第一个解决方案的编辑后的答案,以应对您遇到的情况noticed@DisplayName很好的解决方案。我忘记了
工作表。选择False
。我错过了OP的帖子。