Microsoft Excel

Herbers Excel/VBA-Archiv

neue Tabelle erstellen und hintenanstellen

Betrifft: neue Tabelle erstellen und hintenanstellen von: Peter
Geschrieben am: 03.11.2012 22:10:24

Guten Tag
Mein Workbook hat vor Start des Makros eine einzige Tabelle, wenn das Makro nicht schon ausgeführt wurde.
Nun möchte ich mir eine weitere Tabelle mit dem Namen "Journal" anlegen und diese sollte an zweiter Stelle kommen.
Mir ist nicht klar, warum diese regelmässig an erster Stelle zu stehen kommt. Sollte dies nicht durch .Move after:=Worksheets(1) gerade anders herauskommen?

Gruss, Peter

Sub MappeX
Dim Wbk As Excel.Workbook, Wsh_Orig As Excel.Worksheet, Wsh_Journal As Excel.Worksheet
Set Wbk = ThisWorkbook
Set Wsh_Orig = Wbk.Worksheets(1)
If Not IsSheetExisting("Journal") Then
Set wsJournal = Worksheets.Add
With wsJournal
.Name = "Journal"
.Move after:=Worksheets(1)
End With
Else
Set Wsh_Journal = Wbk.Sheets("Journal")
Wsh_Journal.Move after:=Wsh_Orig
End If
End Sub

Private Function IsSheetExisting(ShName As String) As Boolean
Dim sh  As Object
For Each sh In ThisWorkbook.Sheets
    If LCase$(sh.Name) = LCase$(ShName) Then _
    IsSheetExisting = True: Exit Function
Next
End Function

  

Betrifft: AW: neue Tabelle erstellen und hintenanstellen von: Gerd L
Geschrieben am: 03.11.2012 22:21:09

Hallo Peter!

Das kannst Du direkt beim Einfügen des Blattes steuern.

Set wsJournal = ThisWorkbook.Worksheets.Add(After:=ThisWorkbook.Worksheets(1))

Gruß Gerd


  

Betrifft: AW: neue Tabelle erstellen und hintenanstellen von: Peter
Geschrieben am: 03.11.2012 22:38:46

Hallo Gerd
Vielen Dank!
Gruss, Peter


 

Beiträge aus den Excel-Beispielen zum Thema "neue Tabelle erstellen und hintenanstellen"