Autor
|
Thema: Name des Tabellenblatts (772 mal gelesen)
|
Rüger Mitglied Dipl. Ing. Holzbau
Beiträge: 50 Registriert: 19.01.2004
|
erstellt am: 24. Feb. 2004 12:57 <-- editieren / zitieren --> Unities abgeben:
Na da habe ich doch noch eine Frage: Gibt es die Möglichkeit, dass der Tabellenname automatisch aus einer Zelle übernommen wird? Ich möchte in eine Zelle ein Name schreiben z.B. "Januar" und dieser Name soll der Name des Tabellenblatts (Registers) sein. Das Tabellenblatt soll dann also "Januar" genannt sein.
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
startrek Moderator Architekt
Beiträge: 1361 Registriert: 13.02.2003 .
|
erstellt am: 24. Feb. 2004 13:10 <-- editieren / zitieren --> Unities abgeben: Nur für Rüger
Hi Rüger, etwa so: Sub name_me() ActiveSheet.Name = Cells(1, 1) End Sub oder ist das in Zusammenhang mit deinem letzten thread zu betrachten? lg Nancy [edit] sinnvoller wärs wohl so Private Sub Worksheet_SelectionChange(ByVal Target As Range) If Target = [a1] Then ActiveSheet.Name = [a1] End Sub BTW, gehört hierein Tabellenreiter > Rechtsklick > Code anzeigen oder eben sowas in nem normalen Modul: Sub CopyAndRename() If ActiveSheet.Name <> "Muster" Then Exit Sub Sheets("Muster").Copy After:=Sheets(ThisWorkbook.Sheets.Count) Sheets(ThisWorkbook.Sheets.Count).Name = Sheets("Muster").Cells(1, 1) End Sub aber nicht beides auf einmal, das könnte schiefgehen ... so jetz aber, ciao Nancy
[Diese Nachricht wurde von startrek am 24. Feb. 2004 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Rüger Mitglied Dipl. Ing. Holzbau
Beiträge: 50 Registriert: 19.01.2004
|
erstellt am: 24. Feb. 2004 13:53 <-- editieren / zitieren --> Unities abgeben:
Ja irgendwie schon. Mein Ziel ist folgendes: Ich habe eine Mustertabelle für einen Dienstplan. Wenn ein neuer Monat beginnt, soll der Nutzer das Makro "Dienstpaln kopieren" wählen, dann erstellt sich ein neues Tabellenblatt und der Tabellenname soll automatisch aus einer Zelle übernommen werden. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
startrek Moderator Architekt
Beiträge: 1361 Registriert: 13.02.2003 .
|
erstellt am: 24. Feb. 2004 14:41 <-- editieren / zitieren --> Unities abgeben: Nur für Rüger
Okay, deine Mustertabelle mal in "Muster" umbenennen, und angenommen in A1 steht der Monat, könnte es etwa ganz grob so gehen:
Code:
Sub CopyAndRename() If ActiveSheet.Name <> "Muster" Then Exit Sub 'Test ob Musterblatt Application.DisplayAlerts = False 'Bildschirmmeldung aus Sheets("Muster").Copy After:=Sheets(ThisWorkbook.Sheets.Count) On Error Resume Next Sheets(ThisWorkbook.Sheets.Count).Name = Sheets("Muster").Cells(1, 1) If Sheets(ThisWorkbook.Sheets.Count).Name = "Muster (2)" Then Sheets("Muster (2)").Delete End If Application.DisplayAlerts = True 'Bildschirmmeldungen wieder an End Sub
lg Nancy -- ps: so gaanz perfekt isses aber noch nicht, na versuch mal dein Glück
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Rüger Mitglied Dipl. Ing. Holzbau
Beiträge: 50 Registriert: 19.01.2004
|
erstellt am: 24. Feb. 2004 15:13 <-- editieren / zitieren --> Unities abgeben:
|
startrek Moderator Architekt
Beiträge: 1361 Registriert: 13.02.2003 .
|
erstellt am: 24. Feb. 2004 15:34 <-- editieren / zitieren --> Unities abgeben: Nur für Rüger
ähhh, weiss ich jetzt auch nicht recht, in welcher Zelle steht denn dein Monat? Oder versuch mal ob das geht: Sub CopyAndRename1() Dim x As String x = MonthName(Month(Date)) If ActiveSheet.Name <> "Muster" Then Exit Sub Application.DisplayAlerts = False Sheets("Muster").Copy After:=Sheets(ThisWorkbook.Sheets.Count) On Error Resume Next Sheets(ThisWorkbook.Sheets.Count).Name = x If Sheets(ThisWorkbook.Sheets.Count).Name = "Muster (2)" Then Sheets("Muster (2)").Delete End If Application.DisplayAlerts = True End Sub oder kannst ggf mal ein Beispiel uppen? Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
startrek Moderator Architekt
Beiträge: 1361 Registriert: 13.02.2003 .
|
erstellt am: 24. Feb. 2004 19:59 <-- editieren / zitieren --> Unities abgeben: Nur für Rüger
Abend Rüger, hookay grad noch ne Idee, sh Anhang wenns denn so gemeint war und funzt, ansonsten hab zumind. ich keine Idee mehr oder bin aufm uneleganten Holzweg CU Nancy -- Shit makes the flowers grow an that's beautiful!
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
WolfgangE Mitglied
Beiträge: 1006 Registriert: 29.01.2003 Compass2000 in (fast) allen Ausbaustufen: Jobserver, ACM, Replikator, DBQ-Programmierung. Programmierung, Wartung und Administration von MSSQL2000-Datenbanken. Grundlegende Kenntnisse in AutoLisp-Programmierung.
|
erstellt am: 25. Feb. 2004 08:40 <-- editieren / zitieren --> Unities abgeben: Nur für Rüger
Wie wäre es mit dieser Variante? Das Arbeitsblatt wird kopiert und der Benutzer erhält einen Eingabedialog, wie das neue Blatt heißen soll. Gibt er keinen Namen an oder wird auf "Abbrechen" geklickt, passiert gar nichts. ************************************************************ Sub CopyWorksheet() Dim SheetName As String SheetName = InputBox("Neues Arbeitsblatt", "Name des neuen Arbeitsblattes?") If SheetName <> "" Then Sheets("Muster").Copy After:=Sheets(ActiveWorkbook.Sheets.Count) ActiveSheet.Name = SheetName End If End Sub ************************************************************ Es müsste nur noch eine Prüfung rein, ob schon ein Arbeitsblatt mit dem angegebenen Namen existiert, da das Makro sonst einen Fehler bringt. Das übersteigt aber leider meine VBA-Kenntnisse. Ciao, WolfgangE ------------------ An Optimist Is A Person Who Has Not Been Shown All The Facts Yet!!! Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Rüger Mitglied Dipl. Ing. Holzbau
Beiträge: 50 Registriert: 19.01.2004
|
erstellt am: 25. Feb. 2004 09:01 <-- editieren / zitieren --> Unities abgeben:
Guten Morgen an alle fleisigen Helfer, na da habe ich ja nee Menge von Vorschlägen. Ich bin mehr als begeisert und werde jetzt erst mal Punkte verteilen, dass es nur so kracht... Vielen Dank und ich weiss noch gar nicht wie ich mich entscheiden soll. Aus dem verschneiten Hessen grüsst der Mario und wünscht Euch allen einen herrlichen Arbeitstag. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |