Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
724to728
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
724to728
724to728
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Tabellenblätter über Makro anlegen

Tabellenblätter über Makro anlegen
27.01.2006 12:45:10
WHN
Hallo Leute,
ich habe mir eine Prozedur erstellt, mit der ich ein Tabellenblatt an bestimmter Position in eine Mappe einfügen will:

Sub TabellenBlattAnlegen(BlattName as String, Position as Integer)
Worksheets.Add Before:=ActiveWorkbook.Worksheets(Position)
ActiveSheet.Name = BlattName
End Sub

Es kommt eine Fehlermeldung an der Stelle: ActiveWorkbook.Worksheets(Position)
Wenn ich statt der Variable Position eine Zahl angebe funktioniert es.
So geht es: ActiveWorkbook.Worksheets(1)
Kann mir Jemand helfen?
Freundliche Grüße
Werner

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Tabellenblätter über Makro anlegen
27.01.2006 13:10:23
Heiko
Hallo Werner,
also bei läuft das, siehe Beispiele:
Option Explicit

Sub TabellenBlattAnlegen(BlattName As String, Position As Integer)
Worksheets.Add Before:=ActiveWorkbook.Worksheets(Position)
ActiveSheet.Name = BlattName
End Sub


Sub Einfuegen1()
TabellenBlattAnlegen "Test30", 1
End Sub


Sub Einfuegen2()
TabellenBlattAnlegen "Test31", 5
End Sub


Sub Einfuegen3()
TabellenBlattAnlegen "Test32", Worksheets.Count
End Sub

Gruß Heiko
PS: Rückmeldung wäre nett !
Anzeige
AW: Tabellenblätter über Makro anlegen - Danke
27.01.2006 13:44:40
WHN
Danke für die Hilfe Heiko.
Ich hatte den Fehler begangen, daß ich die Nr. des anzulegenden Blattes zu hoch gesetzt hatte. Ich habe nun eine Sicherung eingebaut, jetzt läuft es.
Hier nochmal der gesammte Code:
___________________________________________________

Function BlattAnzahl() As Integer
Dim Blatt As Object, Anzahl As Integer
Anzahl = 0
For Each Blatt In Sheets
Anzahl = Anzahl + 1
Next Blatt
BlattAnzahl = Anzahl
End Function


Sub TabellenBlattAnlegen(BlattName As String, Position As Integer)
If Position < 1 Then Postition = 1
If Position > BlattAnzahl Then Worksheets.Add After:=Worksheets(Worksheets.Count) _
Else Worksheets.Add Before:=ActiveWorkbook.Worksheets(Position)
ActiveSheet.Name = BlattName
End Sub


Sub TabellenBlatt_anlegen()
Call TabellenBlattAnlegen("Jan", 1)
End Sub

________________________________________________________________
Viele Grüße
Werner
Anzeige
AW: Tabellenblätter über Makro anlegen - Danke
27.01.2006 13:56:13
Heiko
Hallo Werner,
das geht auch ohne externe Zählfunktion:

Sub TabellenBlattAnlegen(BlattName As String, Position As Integer)
If Position < 1 Then Position = 1
If Position > Worksheets.Count Then
Worksheets.Add After:=Worksheets(Worksheets.Count)
Else
Worksheets.Add Before:=ActiveWorkbook.Worksheets(Position)
End If
ActiveSheet.Name = BlattName
End Sub

Gruß Heiko
PS: Rückmeldung wäre nett !
AW: Danke Heiko
28.01.2006 11:15:55
WHN
Hallo Heiko,
nochmals Danke, deine Lösung ist noch besser und einfacher.
Habe sie so übernommen.
Die Funktion zum Zählen der Tabellenblätter ist aber trotzdem nützlich, ich kann sie für andere Abläufe gut gebrauchen.
Freundliche Grüße
Werner
Anzeige

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige