Microsoft Excel

Herbers Excel/VBA-Archiv

Informationen und Beispiele zum Thema MsgBox
BildScreenshot zu MsgBox MsgBox-Seite mit Beispielarbeitsmappe aufrufen

Tabellenname | Herbers Excel-Forum


Betrifft: Tabellenname von: Franky
Geschrieben am: 09.02.2012 12:28:36

Hallo zusammen !

ich suche nach einem Makro-Befehl, der es mir ermöglicht, daß ich den Tabellenname aus einer Zelle ändern und gleichzeitig den Namen erweiteren kann.

Mit dem Befehl: ActiveSheet.Name = Worksheets("Tabelle1").Cells(1, 1) kann ich den Inhalt der Zelle auf den
Tabellennamen übertragen.

Wenn in der Tabelle1 in Zelle A1, ein beliebiges Datum steht. z. B. 08.02.2012, dann wird die Tabelle auch so umbenannt.

Das Markro soll aber so abgeändert werden, daß die Erweiterung: "M_", voransteht. Also der Tabellenname jetzt: "M_08.02.2012" heißt.

Was muss ich ändern in diesem Makro? Leider bekomme ich immer wieder Debug-Fehler!

Vielen Dank im voraus!
Franky

  

Betrifft: AW: Tabellenname von: Hajo_Zi
Geschrieben am: 09.02.2012 12:33:08

Hallo Franky,

="M_" & Format(DeinAusdruck,"dd.mm.yy")

GrußformelHomepage


  

Betrifft: AW: Tabellenname von: Franky
Geschrieben am: 09.02.2012 13:08:48

Hallo Hajo_Zi,

leider kann ich Dein Befehl nicht richtig einbauen. - Sorry !!

Wenn ich das Makro starte mit dem Befehl:
ActiveSheet.Name = Worksheets("Tabelle1").Cells(13, 1) = "M_" & Format(DeinAusdruck, "dd.mm.yy")

dann heißt die Tabelle nachher "FALSE".

Was muss ich ändern??
Franky


  

Betrifft: AW: Tabellenname von: Hajo_Zi
Geschrieben am: 09.02.2012 13:33:55

Hallo Franky,

fü DeinAusdruck solltest du deinen ausdruck einsetzen Worksheets("Tabelle1").Cells(13, 1)

Gruß Hajo


  

Betrifft: AW: Tabellenname von: Franky
Geschrieben am: 09.02.2012 13:46:14

Hallo Hajo !

Jetzt passt es ! - Vielen Dank für die Lösung !

Franky


  

Betrifft: AW: Tabellenname von: Josef Ehrensberger
Geschrieben am: 09.02.2012 12:34:06


Hallo Franky,

' **********************************************************************
' Modul: Tabelle1 Typ: Element der Mappe(Sheet, Workbook, ...)
' **********************************************************************

Option Explicit

Private Sub Worksheet_Change(ByVal Target As Range)
  Dim strNewName As String
  
  If Target.Address(0, 0) = "A1" Then
    strNewName = "M_" & Target.Text
    If IsValidSheetName(strNewName) Then
      Me.Name = strNewName
    Else
      MsgBox "Der Tabellenname '" & strNewName & "' ist ungültig!", vbInformation, "Hinweis"
    End If
  End If
End Sub


Private 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






« Gruß Sepp »