Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1028to1032
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

Tabellen erstellen

Tabellen erstellen
02.12.2008 16:13:00
Hannes
Hallo Excel Profis,
ich habe ein Problem und zwar:
Auf dem Tabellenblatt "Maschinendaten" stehen in Spalte A (ab Spalte A4) laufnummern (1 bis ?)
In Spalte B wird der Nummer per Sverweis ein Name zugeteilt. Soweit kein Problem...
Jetzt möchte ich gerne das für jede Zeile in der ein Wert steht ein Tabellenblatt erzeugt wird. Und zwar nach der Tabellenblattvorlage "Muster"
Dazu soll in dem neu erstellten Tabellenblatt in die Zelle S6 die Laufnummer aus Tabellenblatt "Maschinendaten" Spalte A eingegeben werden.
Blickt noch jemand durch und hat nen guten Rat?
Danke und nen schönen Feierabend (in endloser Ferne)

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Tabellen erstellen
02.12.2008 16:34:41
Rudi
Hallo,
ungetestet:

Sub Sheets_aus_Liste()
Dim c As Range, wks As Worksheet, rngNum As Range
Application.ScreenUpdating = False
With Sheets("Maschinendaten")
Set rngNum = .Range(.Cells(4, 1), .Cells(4, 1).End(xlDown))
End With
For Each c In rngNum
If Not SheetExists(c.Value) Then
Set wks = Worksheets("Vorlage").Copy(after:=Sheets(Sheets.Count))
wks.Range("S6") = c.Value
wks.Name = c.Value
End If
Next
Application.ScreenUpdating = True
End Sub



Function SheetExists(strSheetName As String) As Boolean
Dim wks As Worksheet
For Each wks In Sheets
SheetExists = SheetExists Or wks.Name = strSheetName
Next
End Function


Gruß
Rudi

Anzeige
AW: Tabellen erstellen
02.12.2008 17:24:00
Hannes
erst mal herzlichen Dank Rudi
aber es funktioniert noch nicht ganz...

Private Sub CommandButton1_Click()
Dim c As Range, wks As Worksheet, rngNum As Range
Application.ScreenUpdating = False
With Sheets("Maschinendaten")
Set rngNum = .Range(.Cells(4, 1), .Cells(4, 1).End(xlDown))
End With
For Each c In rngNum
If Not SheetExists(c.Value) Then
         Set wks = Worksheets("Vorlage").Copy(after:=Sheets(Sheets.Count)) ''' !!! _
Laufzeitfehler 424!!!
wks.Range("S6") = c.Value
wks.Name = c.Value
End If
Next
Application.ScreenUpdating = True
End Sub


Function SheetExists(strSheetName As String) As Boolean
Dim wks As Worksheet
For Each wks In Sheets
SheetExists = SheetExists Or wks.Name = strSheetName
Next
End Function


Eine Kopie wird von der Vorlage erstellt, dann kommt der Laufzeitfehler ...und ich hab keine Ahnung warum? hast du ne Idee?

Anzeige
AW: Tabellen erstellen
02.12.2008 17:44:00
Rudi
Hallo,
dann so:

Sub Sheets_aus_Liste()
Dim c As Range, rngNum As Range
Application.ScreenUpdating = False
With Sheets("Maschinendaten")
Set rngNum = .Range(.Cells(4, 1), .Cells(4, 1).End(xlDown))
End With
For Each c In rngNum
If Not SheetExists(c.Value) Then
Worksheets("Vorlage").Copy after:=Worksheets(Worksheets.Count)
With ActiveSheet
.Range("S6") = c.Value
.Name = c.Value
End With
End If
Next
Application.ScreenUpdating = True
End Sub



Function SheetExists(strSheetName As String) As Boolean
Dim wks As Worksheet
For Each wks In Sheets
SheetExists = SheetExists Or wks.Name = strSheetName
Next
End Function


Gruß
Rudi

Anzeige
AW: Tabellen erstellen
03.12.2008 09:32:32
Hannes
erst mal herzlichen dank Rudi, eine wahnsinns sache...
nur 100%ig läuft die kiste noch nicht rund...
beim ausführen kommt die Fehlermeldung 'Laufzeitfehler 1004'.
nach dem Debuggen werden alle Tabellenblätter richtig mit Namen und allem drum und dran erstellt, so wie es sein soll! zuätzlich wird eine Tabellenblatt "Vorlage (2)" erstellt was ja eigentlich nicht richtig ist.
der Fehler wird hier angezeigt:
.Name = c.Value
hast du noch ne idee voran das liegen kann?
trotzdem schon mal besten DANK
AW: Tabellen erstellen
03.12.2008 21:22:00
Rudi
Hallo,
dann stellt der Inhalt der (letzten) Zele keinen legalen Tabellennamen dar.
Gruß
Rudi
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige