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