Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1928to1932
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

VBA neue Tabs erstellen benennen

VBA neue Tabs erstellen benennen
05.05.2023 14:15:55
Björn

Hallo halli,

Ich möchte aus einer Liste neue Tabs erzeugen und benennen. Es scheitert gerade an dem Auslesen des Namens ab dem zweiten Listeneintrag.


Sub LKZ_Vorlage()
Dim wsVorlage_LKZ As Worksheet
Dim wsTop30 As Worksheet
Dim Lieferer As String
Dim i As Integer
Dim n As Long

Set wsVorlage_LKZ = Sheets("LKZ-Vorlage")
Set wsTop30 = Sheets("Tabelle1")

ActiveSheet.Range("C8:C11").Select
n = ActiveCell.Row

For i = 1 To n
Lieferer = wsTop30.Cells(n, 3).Text
wsVorlage_LKZ.Copy after:=wsVorlage_LKZ

ActiveSheet.Name = Lieferer
n = n + 1

Next i


End Sub


https://www.herber.de/bbs/user/159063.xlsm

Vielen Dank

Björn

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA neue Tabs erstellen benennen
05.05.2023 14:34:09
Heli
Hi,

in Deinem Code widersprichst Du Dir leider mehrfach - Der Bereich mit den Bezeichnungen ist C8:C11 - mit Deinem Zähler n startest Du dann aber bei 1 usw.

Teste mal diesen Code:
Sub LKZ_Vorlage()
Dim wsVorlage_LKZ As Worksheet
Dim wsTop30 As Worksheet
Dim Lieferer As String
Dim i As Integer

Set wsVorlage_LKZ = Sheets("LKZ-Vorlage")
Set wsTop30 = Sheets("Tabelle1")

For i = 8 To 11
    Lieferer = wsTop30.Cells(n, 3).Text
    wsVorlage_LKZ.Copy after:=wsVorlage_LKZ

    ActiveSheet.Name = Lieferer
Next i

End Sub
Wenn das flexibel sein soll musst Du die erste Zeile in eine Variable schreiben und danach dann auf die korrekte Zeile referenzieren sowas wie

n = ActiveCell.row (sofern Du in der gerade aktiven Zelle starten willst)

Und dann For i = n to 11 (oder eben auch noch das Ende ermitteln und in eine Variable schreiben)

VG, Heli


Anzeige
AW: VBA neue Tabs erstellen benennen
05.05.2023 14:38:15
onur
For i = 8 To 11
Lieferer = wsTop30.Cells(n, 3).Text
mact 4x das Selbe !
Wozu wir das i gebraucht, wenn du in der Schleife n benutzt ?


AW: VBA neue Tabs erstellen benennen
05.05.2023 14:42:38
Heli
Oh man, wird Zeit für's Wochenende...

Ja die Schleifen des Fragestellers passen irgendwie nicht, hab nicht genau genug geschaut...

Ohne den Sinn zu hinterfragen könnte man das Quick & Dirty so machen
Sub LKZ_Vorlage()
Dim wsVorlage_LKZ As Worksheet
Dim wsTop30 As Worksheet
Dim Lieferer As String
Dim i As Integer

Set wsVorlage_LKZ = Sheets("LKZ-Vorlage")
Set wsTop30 = Sheets("Tabelle1")

For i = 8 To 11
    Lieferer = wsTop30.Cells(i, 3).Text
    wsVorlage_LKZ.Copy after:=wsVorlage_LKZ

    ActiveSheet.Name = Lieferer
Next i

End Sub
Ungetestet!

VG, Heli


Anzeige
AW: VBA neue Tabs erstellen benennen
05.05.2023 14:44:42
onur
"den Sinn zu hinterfragen" ist ein ganz anderes Thema.... :))


AW: VBA neue Tabs erstellen benennen
05.05.2023 15:29:39
Björn
Vielen Dank für eure Hilfe. Das ganze ist natürlich nur proof of Concept, die richtige Liste hat knapp hundert Einträge und die Tabs werden dann befüllt.


AW: VBA neue Tabs erstellen benennen
05.05.2023 14:35:37
onur
Was ist das für eine seltsame Schleife?
For i = 1 To n
und
n = n + 1
????


AW: VBA neue Tabs erstellen benennen
05.05.2023 14:40:06
Yal
Hallo Björn,

versuche folgendes

Sub LKZ_Vorlage()
Dim Z As Range

    For Each Z In Sheets("Tabelle1").Range("C8:C11")
        Worksheets("LKZ-Vorlage").Copy After:=Worksheets(Worksheets.Count)
        ActiveSheet.Name = Z.Value
    Next
End Sub
VG
Yal


Anzeige
AW: VBA neue Tabs erstellen benennen
05.05.2023 14:40:37
Pappawinni
Du erhöhst mit jedem Durchlauf der Schleife n,
Das wird doch Endlos

309 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige