VBA – 基于值和名称添加表格

我有我的代码有问题。 我需要创build新的工作表,并根据机器的名称命名。 范围"B" & (12 * x - 5) 。 是的,范围根据x变化,在本例中等于1到33,并且在适当的For语句中。 然而,在这个例子中,我的代码创build了大量的表单,而不仅仅是11。 Sheets("Tool Setup").Range("C18") = 11范例Sheets("Tool Setup").Range("C18") = 11在这个例子中。 另外,我的意图是根据范围"B" & (12 * x - 5)的值命名这些表。

 Dim Sheetcnt As Integer, Tabs As Integer Sheet = ThisWorkbook.Names(Sheets("Reporting").Range("B" & (12 * x - 5))).RefersToRange.Value Sheetcnt = Sheets("Tool Setup").Range("C18") For Tabs = 1 To Sheetcnt Sheets.Add After:=Sheets(Sheets.Count) 'creates a new worksheet Sheets(Sheets.Count).Name = Sheet 'renames the new worksheet Next Tabs 

如果有人能帮我弄清楚如何创build一个能够解决这个问题的代码,那将是非常值得赞赏的。 我有一个预感它必须做与variablesTabs

先谢谢你。

基于你提供的,我已经拿出了下面的代码,根据公式类似于你的名字11张。 为了certificate它的工作原理,我将连续的数字放在活动工作表B列的前127行中。 然后,代码使用公式Range("B" & (12 * i - 5)计算要抓取哪一行,该公式给出以下顺序:7 19 31 43 55 67 79 91 103 115 127,数字被做。

如果这不是你想要的,也许你可以使用这个工作代码作为开始的地方。 或者,更好的是,为您的问题提供更多的定义。

 Option Explicit Sub sheetNamer() Dim num As Integer, i As Integer, sh As Worksheet num = 11 Set sh = ActiveSheet For i = 1 To num Sheets.Add After:=Sheets(Sheets.Count) Sheets(Sheets.Count).Name = sh.Range("B" & (12 * i - 5)) Next i End Sub