AW: Tabellennamen aus Tabelle1 per VBA erstellen
05.05.2014 12:54:06
fcs
Hallo Wolfgang,
hier ein entsprechendes Makro.
Bitte bei den Hotelnamen beachten: max. Zeichenzahl = 31, einige Zeichen sind als Blattnamen nicht zulässig.
Gruß
Franz
'Code in einem allgemeinen Modul
Sub TabsErstellen()
Dim wksListe As Worksheet, Zeile_L
Dim wksNeu As Worksheet, strNeu As String
Set wksListe = ActiveWorkbook.Worksheets("Hotelübersicht")
With wksListe
For Zeile_L = 10 To .Cells(.Rows.Count, 1).End(xlUp).Row
strNeu = .Cells(Zeile_L, 1).Text
If fncCheckSheetName(strNeu) = False Then
If Zeile_L = 10 Then
Set wksNeu = ActiveWorkbook.Worksheets.Add(after:=wksListe)
Else
Set wksNeu = ActiveWorkbook.Worksheets.Add( _
after:=ActiveWorkbook.Sheets(.Cells(Zeile_L - 1, 1).Text))
End If
wksNeu.Name = strNeu
End If
Next
.Activate
End With
End Sub
Public Function fncCheckSheetName(strName As String, Optional wkb As Workbook) As Boolean
'Prüft, ob Blattname in Arbeitsmappe schon vorhanden
Dim objSheet As Object
On Error GoTo Fehler
fncCheckSheetName = False
If wkb Is Nothing Then Set wkb = ActiveWorkbook
Set objSheet = wkb.Sheets(strName)
fncCheckSheetName = True
Exit Function
Fehler:
End Function