Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Arbeitsblätter nummerieren und Zellenbezug

Forumthread: Arbeitsblätter nummerieren und Zellenbezug

Arbeitsblätter nummerieren und Zellenbezug
22.11.2007 21:56:00
Rainer
Hallo liebe Excel Experten,
ich hoffe ihr könnt mir helfen. Ich habe 2 Anliegen:
1. Ich möchte mehrere Arbeitsblätter mit fortlaufender Nummer generieren. Also z.B sollen die Arbeitsblattnamen von 100 - 130 hochzählen.
2. In der Zelle B2 soll dann der Name des jeweiligen Arbeitsblattes erscheinen (also 100, 101, usw. )
Geht sowas ?
Vielen Dank,
Rainer

Anzeige

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Arbeitsblätter nummerieren und Zellenbezug
22.11.2007 22:09:00
Andreas
Mit diesem Makro sollte es gehen:

Sub Blaetter()
For i = 100 To 130
Sheets.Add
ActiveSheet.Name = Str(i)
Cells(2, 2) = i
Next i
End Sub


Grüße,
Andreas

AW: Arbeitsblätter nummerieren und Zellenbezug
22.11.2007 22:28:50
Rainer
Hallo Andreas,
vielen Dank das funktioniert. Jetzt habe ich ein Formblatt ( als template "AbrechnungBasar.xlt" ) in das ich diese Funktion einbinden möchte. Kannst Du mir hier noch einen Tip geben ?
Danke,
Rainer

Anzeige
AW: Arbeitsblätter nummerieren und Zellenbezug
22.11.2007 22:17:00
Josef
Hallo Rainer,
probier mal.
' **********************************************************************
' Modul: Modul1 Typ: Allgemeines Modul
' **********************************************************************

Option Explicit

Sub NummernBlaetter()
Dim intStart As Integer, intEnde As Integer, intI As Integer
Dim objSh As Worksheet

On Error GoTo ErrExit
Application.ScreenUpdating = False

intStart = Application.InputBox("Startzahl:", "Tabellenblätter Anlegen", 1, 1)

If intStart = 0 Then Exit Sub

intEnde = Application.InputBox("Endzahl:", "Tabellenblätter Anlegen", intStart + 1, 1)

If intEnde = 0 Or intEnde < intStart Then Exit Sub

With ThisWorkbook
    For intI = intStart To intEnde
        If Not SheetExist(CStr(intI)) Then
            Set objSh = .Worksheets.Add(after:=.Sheets(.Sheets.Count))
            objSh.Name = CStr(intI)
            objSh.Range("B2") = intI
        End If
    Next
End With

ErrExit:
Application.ScreenUpdating = True
Set objSh = Nothing
End Sub


Private Function SheetExist(ByVal sheetName As String, Optional WbName As String) As Boolean
Dim wks As Worksheet
On Error GoTo ERRORHANDLER
If WbName = "" Then WbName = ThisWorkbook.Name
For Each wks In Workbooks(WbName).Worksheets
    If wks.Name = sheetName Then SheetExist = True: Exit Function
Next
ERRORHANDLER:
SheetExist = False
End Function

Gruß Sepp

Anzeige
AW: Arbeitsblätter nummerieren und Zellenbezug
22.11.2007 23:45:17
Rainer
Hallo Sepp,
vielen Dank funktioniert gut. Wie kann ich mein template implementieren ?
Danke Rainer

AW: Arbeitsblätter nummerieren und Zellenbezug
23.11.2007 18:00:29
Josef
Hallo Rainer,
was willst du wo implementieren?
Gruß Sepp

AW: Arbeitsblätter nummerieren und Zellenbezug
26.11.2007 09:50:00
Rainer
Hallo Sepp,
ich benötigte eine Vorlage für das Tabellenblatt und hab´s dann so gelöst.
Vielen Dank für die Hilfe,
Rainer
Sub NummernBlaetter()
Dim intStart As Integer, intEnde As Integer, intI As Integer
Dim objSh As Worksheet
On Error GoTo ErrExit
Application.ScreenUpdating = False
intStart = Application.InputBox("Startzahl:", "Tabellenblätter Anlegen", 1, 1)
If intStart = 0 Then Exit Sub
intEnde = Application.InputBox("Endzahl:", "Tabellenblätter Anlegen", intStart + 1, 1)
If intEnde = 0 Or intEnde Sheets.Add Type:= _
"C: \pfad......... \Vorlage_Basar.xlt"

With ThisWorkbook
For intI = intStart To intEnde
If Not SheetExist(CStr(intI)) Then
Set objSh = .Worksheets.Add(after:=.Sheets(.Sheets.Count))
objSh.Name = CStr(intI)
Sheets("Vorlage_Basar").Select
Cells.Select
Selection.Copy
objSh.Select
ActiveSheet.Paste
objSh.Range("B2") = intI
End If
Next
End With
ErrExit:
Application.ScreenUpdating = True
Set objSh = Nothing
End Sub



Private Function SheetExist(ByVal sheetName As String, Optional WbName As String) As Boolean
Dim wks As Worksheet
On Error GoTo ERRORHANDLER
If WbName = "" Then WbName = ThisWorkbook.Name
For Each wks In Workbooks(WbName).Worksheets
If wks.Name = sheetName Then SheetExist = True: Exit Function
Next
ERRORHANDLER:
SheetExist = False
End Function


Sub Blaetter()
For i = 100 To 130
Sheets.Add
ActiveSheet.Name = Str(i)
Cells(2, 2) = i
Next i
End Sub


Anzeige
;

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige