Ich habe Probleme mit meinem Code. Ich muss neue Blätter erstellen und sie nach dem Namen einer Maschine benennen. Welcher ist der Bereich "B" & (12 * x - 5)
. Ja, der Bereich ändert sich basierend auf x
, was in diesem Beispiel gleich 1 zu 33 ist und innerhalb der richtigen For
Anweisung liegt. Mein Code erstellt jedoch eine große Anzahl von Blättern und nicht nur 11, in diesem Beispiel. Sheets("Tool Setup").Range("C18") = 11
in diesem Beispiel. Außerdem beabsichtige ich, diese Blätter entsprechend dem Wert im Bereich "B" & (12 * x - 5)
zu benennen.VBA - Hinzufügen von Blättern basierend auf einem Wert und Namen acododingly
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
Wenn jemand kann mir helfen Figur, wie einen Code zu erstellen, der dieses Problem gerecht wird, wäre es sehr geschätzt werden. Ich habe eine Ahnung, dass es mit der Variablen Tabs
zu tun hat.
Vielen Dank im Voraus.
Sie x nicht definieren, ich glaube, Sie 'Tabs' verweisen bedeuten – sourceCode
Sie nicht auch die neu hinzugefügte Blatt einen Namen geben, es sei denn, Ihre Absicht, ihnen Namen geben Standard war' Sheet1', 'Sheet2' , usw. – sourceCode
'Dim Sheet as Integer' ist ein schrecklich irreführender Name für eine Variable, die keinen' Worksheet' Objektreferenz enthält. 'SheetCount' vielleicht? Was ist in ''Tool Setup'! C18'? FWIW, was auch immer dort ist, wäre wahrscheinlich besser als ein benannter Bereich, z.B. 'Sheet = ThisWorkbook.Names (" SomeConfigurationValue "). RefersToRange.Value' –