Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
24.04.2024 17:19:09
Anzeige
Archiv - Navigation
1608to1612
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

Blätter mittels Vorlage automatisch erstellen

Blätter mittels Vorlage automatisch erstellen
20.02.2018 13:18:59
sascha
Hallo zusammen,
ich hab hier eine Mappe für unsere Instandhaltungsplanung. Auf jedem Blatt wird die Wartung und Reparatur für eine Maschine geplant. Im Blatt "Aktuelles Halbjahr" werden alle Maschinen zur Übersicht in vorm eines Gant-Diagrammes abgebildet.
Zum vereinfachen beim Erstellen der Blätter wäre es super, wenn die Blätter sich nach dem Blatt "Vorlage" automatisch erstellen und die Namen aus der Liste "Aktuelles Halbjahr Spalte F, Zeile 7 vergeben werden.
Wenn schon ein Blatt mit dem Namen vorhanden ist, soll es einfach übersprungen werden.
Mit VBA hab ich bisher nur über den Makrorecorder gearbeitet und kenne mich sonst nicht damit aus.
Hier ist die abgespeckte Datei:
https://www.herber.de/bbs/user/119934.xls
Vielen Dank im Voraus.
Sascha

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

Betreff
Datum
Anwender
Anzeige
AW: Blätter mittels Vorlage automatisch erstellen
20.02.2018 16:09:19
Rainer
Hallo Sascha,
füge das in ein Modul ein:
Sub Blätter_Erstellen()
Dim sht As Worksheet
Dim shtNew As Worksheet
Dim shtVorlage As Worksheet
Dim LastRow As Long
Set sht = Sheets("Aktuelles Halbjahr")
Set shtVorlage = Sheets("Vorlage")
i = 7 'Erste Zeile
While sht.Cells(i, 6)  ""
shtVorlage.Copy After:=ThisWorkbook.Sheets(ThisWorkbook.Sheets.Count)
Set shtNew = ThisWorkbook.Sheets(ThisWorkbook.Sheets.Count)
On Error Resume Next ' Fehler kommt, wenn Blatt existiert
shtNew.Name = sht.Cells(i, 6)
If Err.Number  0 Then
Application.DisplayAlerts = False
shtNew.Delete
Err.Clear
Application.DisplayAlerts = True
End If
i = i + 2       '2 Zeilen springen
Wend
End Sub
Gruß,
Rainer
Anzeige
AW: Blätter mittels Vorlage automatisch erstellen
21.02.2018 10:36:31
Sascha
Hallo Rainer,
vielen Dank für die Hilfe. Es funktioniert so wie es funktionieren soll.
Irgendwann werd ich es schaffen mich mal mehr mit VBA zu beschäfftigen.
Gruß und schönen Tag noch,
Sascha
AW: Blätter mittels Vorlage automatisch erstellen
22.02.2018 09:19:58
Sascha
Hallo Rainer,
ich hab da noch eine Frage zu deinem Code:
While sht.Cells(i, 6) ""
shtVorlage.Copy After:=ThisWorkbook.Sheets(ThisWorkbook.Sheets.Count)
Set shtNew = ThisWorkbook.Sheets(ThisWorkbook.Sheets.Count)
On Error Resume Next ' Fehler kommt, wenn Blatt existiert
shtNew.Name = sht.Cells(i, 6)

(i, 6) steht ja dafür, das die Namen für die Blätter in der 6 Spalte stehen.
Ist es möglich die Blattnamen aus den Spalten 3 und 4 zu erzeugen? Vielleicht sogar mit einem Trennzeichen? In etwas so wie:
Spalte 3 = 6040; Spalte 4 = 08; Blattname = 6040-08;
Gruß Sascha
Anzeige
AW: Blätter mittels Vorlage automatisch erstellen
22.02.2018 14:17:21
Rainer
Hallo Sascha,
ja klar geht das:
shtNew.Name = sht.Cells(i, 6)

musst du ersetzen durch
shtNew.Name = sht.Cells(i, 3) & "-" & shtNew.Name = sht.Cells(i, 4)
Gruß,
Rainer
AW: Blätter mittels Vorlage automatisch erstellen
23.02.2018 07:25:31
Sascha
Hallo Rainer,
wenn ich den Code wie von dir vorgeschlagen ändere, erstellt excel mir nur ein neues Blatt mit dem Namen "Falsch".
So sieht der Code aus:
While sht.Cells(i, 6) ""
shtVorlage.Copy After:=ThisWorkbook.Sheets(ThisWorkbook.Sheets.Count)
Set shtNew = ThisWorkbook.Sheets(ThisWorkbook.Sheets.Count)
On Error Resume Next ' Fehler kommt, wenn Blatt existiert
shtNew.Name = sht.Cells(i, 3) & "-" & shtNew.Name = sht.Cells(i, 4)

Muss ich in der ersten Zeile auch die 6 ändern?
Gruß Sascha
Anzeige
AW: Blätter mittels Vorlage automatisch erstellen
23.02.2018 07:53:10
Rainer
Hallo Sasche,
nein, ich denke nicht. Die erste Zeile prüft nur, ob das Feld leer ist. Wenn das erste leere Feld gefunden wird, dann ist die Tabelle zu Ende.
Ich habe einfach einen Copy&Paste Fehler gemacht. Ich sollte nicht mehr vom Handy aus tippen...
So ist es richtig:
shtNew.Name = sht.Cells(i, 6)
musst du ersetzen durch
shtNew.Name = sht.Cells(i, 3) & "-" & sht.Cells(i, 4)
AW: Blätter mittels Vorlage automatisch erstellen
23.02.2018 10:16:37
Sascha
Jetzt funktioniert es.
Vielen Dank.
AW: Blätter mittels Vorlage automatisch erstellen
23.02.2018 11:46:15
Rainer
Danke für die Rückmeldung und viel Spaß damit.
Lass was hören wenn du weitere Hilfe brauchst.
Rainer

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige