Tabellenblatt automatisch erstellen

  • #1
J

joergi78

Bekanntes Mitglied
Themenersteller
Dabei seit
17.08.2005
Beiträge
249
Reaktionspunkte
0
Hallöchen an alle,
Kann ich anhand einer Excel Liste für jede Zeile ein eigenes Tabellenblatt erstellen und dieses auich so bennen?

Gruß Joergi78
 
  • #2
Hallo joergi78,

das geht prinzipiell.

Einschränkungen:
- bestimmt Zeichen dürfen nicht enthalten sein, wie z.B. :.
- Namenslänge von max. 31 Zeichen
- keine doppelte Namen

Gruß Matjes :)

Makro könnte etwa so aussehen:
Code:
Option Explicit

Sub BlaetterGenerieren()
 
 Const csBereich = A12:A20->< < < < A N P A S S E N > > >
 
 Dim ws As Worksheet, wsa As Worksheet, Zelle As Range
 Dim iReturn As Integer
 
 Set wsa = ActiveSheet
 
 On Error Resume Next
 For Each Zelle In wsa.Range(csBereich)
  If Zelle.Value <>  Then
   Set ws = Worksheets.Add(After:=Worksheets(Worksheets.Count))
   ws.Name = Zelle.Value
   If Err.Number <> 0 Then
    wsa.Activate
    ActiveWindow.ScrollRow = Zelle.Row
    iReturn = MsgBox( _
     Blatt konnte nicht entsprechend Zelle  & _
     Zelle.Address(False, False) &  benannt werden. & vbLf & vbLf & _
     Grund:  & Err.Description & vbLf & vbLf & _
     Fortfahren ?, vbDefaultButton1 + vbYesNo + vbQuestion)
     
    Err.Clear
    If vbYes <> iReturn Then Exit For
 
   End If
  End If
 Next
 
 wsa.Activate
AUFRAEUMEN:
 Set ws = Nothing: Set wsa = Nothing: Set Zelle = Nothing
End Sub
 
  • #3
supi, das klappt schonmal. Danke
Kann man die Mappen auch aus einem Vorlagenblatt erstellen?
 
  • #4
Hallo joergi78,

da muß als Typ der vollständige Pfad zur Template-Tabelle (.dot) angegeben werden. Ausserdem funktioniert das nur in der Sheet-Auflistung. deshalb muss die Add-Zeile geändert werden (nicht vergessen den Pfad anzupassen):
Code:
Set ws = Sheets.Add(After:=Sheets(Sheets.Count), Type:=E:\TestVorlagen\TestVorlage.xlt)

Gruß Matjes :)
 
Thema:

Tabellenblatt automatisch erstellen

ANGEBOTE & SPONSOREN

Statistik des Forums

Themen
113.840
Beiträge
707.963
Mitglieder
51.494
Neuestes Mitglied
Flensburg45
Oben