Das Clever-Excel-Forum.de - Treffen
... 14.-16. September 2018 im Allgäu ...

Blatt Namen
#1
Guten Tag,

Ich möchte den Blatt Namen (Registername) von einer Zelle abhängig machen.(z.B. Der Registername entspricht dem Inhalt von der Zelle A1)
Kann mir jemand helfen?

Besten Dank
to top
#2
Hi

als Formel oder in VBA? Was willst Du genau tun, beide Werte vergleichen?
Grüße,
Winny
to top
#3
(17.05.2015, 17:29)langa68 schrieb: Guten Tag,

Ich möchte den Blatt Namen (Registername) von einer Zelle abhängig machen.(z.B. Der Registername entspricht dem Inhalt von der Zelle A1)
Kann mir jemand helfen?

Besten Dank

Die Suchfunktion ergibt einen Treffer - schau mal.


Zudem hab' gerade mal etwas gegugelt Wink - hilft dir der Beitrag von Peter aus diesem Forum?
Gruß Günter
Misserfolg ist eine Chance, es beim nächsten Mal besser zu machen.
(Henry Ford) http://www.sprueche-zum-nachdenken.eu
to top
#4
Hallo Willwissen,

Danke für die Antwort.
Ich werde es ausprobieren
to top
#5
(17.05.2015, 17:38)Winny schrieb: Hi

als Formel oder in VBA? Was willst Du genau tun, beide Werte vergleichen?

Hallo Winny

Ich möchte zum Beispiel das ein Datum od. auch einen andren Wert der in der Zelle A1 eingegeben ist, automatisch als Tabellenname eingetragen wird.
Die Lösung währe als Formel wie auch als VBA  wünschenswert.

Gruss
langa68
to top
#6
Hi

so?
Code:
Sub tst()
   On Error Resume Next
   Worksheets(1).Name = Range("A1").Text
   On Error GoTo 0
End Sub
Grüße,
Winny
to top
#7
Hallo Winny

Danke für deine Antwort.
Ich habe den Test nicht durchführen können, ich weiß nicht wie mann diesen Code in die Tabelle bringt. (Bin einen Macro Anfänger.) Kannst du mir dies bezüglich auch helfen?
Der Code sollte beim öffnen der Tabelle starten und soll auch für mehrere Blätter funktionieren.
Danke

Gruss
langa68 
to top
#8
Hi langa,

der Code von Winny funktioniert nur im aktuellen Arbeitsblatt - er muss auch dort hinterlegt werden. Wenn das Makro für alle Tabellenblätter funktionieren soll, dann nimm mal diese Codes, die unser Peter vor längerer Zeit hier gepostet hat.


Zitat:Private Sub Workbook_SheetChange(ByVal Sh As Object, _

                                 ByVal Target As Range)
'Quelle: Message-ID:
   If Target.Address(0, 0) = "A1" And Target.Value <> "" Then
      If Not SheetExists(Target.Value) Then
         Sh.Name = Target.Value
      Else
         Application.Undo
      End If
   End If
End Sub

Public Function SheetExists(strName As String) As Boolean
   On Error Resume Next
   SheetExists = Not Sheets(strName) Is Nothing
End Function

Du öffnest deine Datei und holst dir mit ALT-F11 den VBA-Editor her. In der linken Spalte siehst du deine Datei - dort klickst du auf "Diese Arbeitsmappe" und fügst den obigen Code (copy & paste) ein.

Sobald du, egal in welchem Arbeitsblatt, den Eintrag in der jeweiligen Zelle A1 veränderst, wird dieser Wert als Tabellenblattname übernommen.

Nachtrag:

Du musst deine Datei dann natürlich entweder mit der Endung .xlsm oder .xlsb abspeichern. Sonst sind deine Codes weg.
Gruß Günter
Misserfolg ist eine Chance, es beim nächsten Mal besser zu machen.
(Henry Ford) http://www.sprueche-zum-nachdenken.eu
[-] Folgende(r) 1 Benutzer sagt Danke an WillWissen für diesen Beitrag:
  • langa68
to top
#9
Hi

also mein Code sollte erst mal in ein allgemeines Modul damit sich der TE darüber klar werden kann ob es das überhaupt ist was er will. Erst dann kann man wohl 'nachbessern'. Ich jedenfalls habe nicht ganz genau verstanden was er eigentlich will und er hat ja die Fragen auch nicht beantwortet.
Grüße,
Winny
to top
#10
Hallo Winny,

Reg dich doch nicht so schnell auf.
Deine Antwort ist schon gut, ich habe dir doch nur fragen vollen wie ich diesen Code in meine Tabelle einfügen kann (bin ja Macro Anfänger)
Gruss
langa68
to top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste