150 Tabellenblätter

Bild

Betrifft: 150 Tabellenblätter
von: chito
Geschrieben am: 25.05.2015 11:47:14

Hallo zusammen,
mein Problem ist, ich habe ca 150 Tabellenblätter und möchte diese auf einmal umbenennen nach der zelle A1 in diesem Blatt.Die Tabelle mit dem Namen(Auswertung) soll dabei nicht geändert werden. also 149 Blätter ändern nach Zellbezug.
ich hoffe es kann mir jemand helfen.
Gruß
chito

Bild

Betrifft: AW: 150 Tabellenblätter
von: Sepp
Geschrieben am: 25.05.2015 11:54:55
Hallo chito,

' **********************************************************************
' Modul: Modul2 Typ: Allgemeines Modul
' **********************************************************************

Option Explicit

Sub renameSheet()
  Dim objSh As Worksheet
  
  For Each objSh In ThisWorkbook.Worksheets
    If objSh.Name <> "Auswertung" And IsValidSheetName(objSh.Range("A1").Text) And Not SheetExist(objSh.Range("A1").Text) Then
      objSh.Name = objSh.Range("A1").Text
    End If
  Next
  
End Sub


Function IsValidSheetName(ByVal strName As String) As Boolean
  Dim objRegExp As Object
  
  Set objRegExp = CreateObject("vbscript.regexp")
  
  With objRegExp
    .Global = True
    .Pattern = "^[^\/\\:\*\?\[\]]{1,31}$"
    .IgnoreCase = True
    IsValidSheetName = .test(strName)
  End With
  
  Set objRegExp = Nothing
  
End Function


Function SheetExist(ByVal sheetName As String, Optional Wb As Workbook) As Boolean
  Dim wks As Worksheet
  
  On Error GoTo ERRORHANDLER
  
  If Wb Is Nothing Then Set Wb = ThisWorkbook
  
  For Each wks In Wb.Worksheets
    If LCase(wks.Name) = LCase(sheetName) Then SheetExist = True: Exit Function
  Next
  
  ERRORHANDLER:
  SheetExist = False
End Function


Gruß Sepp

Bild

Betrifft: AW: 150 Tabellenblätter
von: chito
Geschrieben am: 25.05.2015 12:00:02
Hallo Sepp,
danke für die schnelle Antwort, hab´s ausprobiert und klappt prima Danke.
Gruß
chito

 Bild

Beiträge aus den Excel-Beispielen zum Thema "150 Tabellenblätter"