将名称包含在stringvariables中的工作表

我想将表单名称与一个stringvariables中的多个工作表分组,这些工作表将用于格式化组中的每个工作表。

该string(我们称之为SheetsFormat)包含所有需要格式化的表名,string中的每个值都在创build时添加到dynamicstring中。

问题是如何创build一组引用SheetsFormatstring的工作表?

string内容示例:“Mon Maint”,“Mon Mgnt”,“Tue Prod”等

我使用的代码是:

Dim ws as worksheet, ws_group As Worksheets Set ws_group = Sheets(Array(SheetsFormat)) For Each ws In ws_group 'some staff Next 

这里有一个示例程序,让你去。 你可以用许多方法来构build你的数组,但是最终的结果将会遵循这个模式 – 遍历一个数组(或类似的)来对这组工作表进行相同的操作。

 Sub SampleDoSomethingToMultipleSheets() Dim SheetsFormat(3) As String SheetsFormat(0) = "Mon Maint" SheetsFormat(1) = "Mon Mgnt" SheetsFormat(2) = "Tue Prod" Dim idx As Integer For idx = 0 To UBound(SheetsFormat) - 1 With Sheets(SheetsFormat(idx)) ' put your code here, eg .Range("A1").Value = "StackOverflow is awesome" End With Next idx End Sub 

这是一个你想要的东西的例子。 它使用Split函数将string拆分成基于分隔符的数组。

 Sub LoopThroughSheetsString() Dim SheetsFormat As String Dim ws As Excel.Worksheet SheetsFormat = "Sheet1,Sheet2,Sheet3" 'loop through the array created by splitting SheetsFormat on commas For Each ws In Sheets(Split(SheetsFormat, ",")) Debug.Print ws.Name Next ws End Sub 

请注意,它只是一个长双string,只在开始和结束。