Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
296to300
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
296to300
296to300
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

bestehende Blattnamen nach Liste umbenennen

bestehende Blattnamen nach Liste umbenennen
25.08.2003 11:16:26
Fritz
Hallo VBA-Experten,
mit Hilfe der nachfolgenden Prozedur, die ich über eine Schaltfläche aus der dem Tabellenblatt "Tabelle1" starte, lege ich in der Arbeitsmpappe soviel neue Tabellen an, wie in einer Liste in der Spalte A im Tabellenblatt "Tabelle1" Namen aufgeführt sind, dabei werden die Tabellen entsprechend den in der Liste
angegebenen Namen benannt.
Ich möchte nun folgendes erreichen:
1. Die eingefügten Tabellen sollen in jedem Fall unmittelbar hinter dem Tabellenblatt eingefügt werden, aus dem die Prozedur gestartet wird (also hinter Tabelle 1), also auch wenn bereits weitere Blätter in der Mappe enthalten sind (müsste man das wohl über eine weitere Prozedur veranlassen, dass die Blätter entsprechend umsortiert werden?)
2. Mit welcher Prozedur könnte man anschließend erreichen, dass wenn die Liste (auch nur teilweise) geändert wird, (nur)die Tabellenblätter entsprechend der Änderungen umbenannt werden.

Sub TabNamenFestlegen()
Dim wks As Worksheet
Dim iRow As Integer
Set wks = ActiveSheet
iRow = 1
Do Until IsEmpty(wks.Cells(iRow, 1))
Worksheets.Add after:=Worksheets(Worksheets.Count)
ActiveSheet.Name = wks.Cells(iRow, 1).Value
iRow = iRow + 1
Loop
Sheets("Tabelle1").Select
End Sub

Ich hoffe, dass ich euch mit diesem Anliegen nicht über Gebühr strapaziere, aber ich habe inzwischen mitbekommen, dass über dieses Forum auch in recht komplexen Aufgabenstellung Hilfe angeboten wird.
Deshalb vielen Dank an alle, die mir entsprechende Vorschläge und Hinweise geben können.
Gruß Fritz

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: bestehende Blattnamen nach Liste umbenennen
25.08.2003 11:53:25
BerndE
Hallo Fritz,
Zu 1.
Ändere 'Worksheets.Add after:=Worksheets(Worksheets.Count)' in
'Worksheets.Add after:=Worksheets(1+iRow-1)'
Zu 2.
Bei Tabelle1 unter 'Worksheets' und dem Ereignis 'Change' folgender Code

Private Sub Worksheet_Change(ByVal Target As Excel.Range)
Rem Änderung in Spalte 1 ?
If Target.Column <> 1 Then Exit Sub
Rem Umzubenennendes Blatt ermitteln
BlattNr = Target.Row + 1
Rem Blatt umbenennen
Sheets(BlattNr).Name = Target.Value
End Sub

Ich hoffe, das hast Du gemeint...
Gruß
Bernd
www.bernds.page.de.vu

Anzeige
AW: bestehende Blattnamen nach Liste umbenennen
25.08.2003 12:28:48
Fritz
Hallo Bernd,
funktioniert einwandfrei, hast mir sehr geholfen, danke!
Ursprünglich wollte ich eigentlich, dass die einzufügenden Tabellenblätter unmittelbar nach der Tabelle1 (und nicht vor Tabelle1) und vor (möglicherweise) anderen vor dem Einfügen hinter Tabelle1 befindlichen Tabellen eingereiht werden.
Könnte man das ändern? Ansonsten kann ich auch mit der jetzigen Lösung leben!
Gruß Fritz!
P.S. Als VBA-Neuling habe ich einiges aus deiner Hilfe gelernt!

AW: bestehende Blattnamen nach Liste umbenennen
25.08.2003 13:31:10
BerndE
Hi Fritz,
freut mich, wenn ich Dir helfen konnte.
Eigentlich sollte alles schon so funzen, wie Du es gerne hättest. Voraussetzung ist, dass Deine 'Tabelle 1' auch wirklich als erstes Tabellenblatt vorhanden ist.
Wenn nicht, müsstest Du nur bei 'Worksheets(1+iRow-1)' die erste '1' durch die entsprechende Zahl ersetzen, da diese '1' bedeutet, dass hinter dem ersten vorhandenen Tabellenblatt eingefügt werden soll.
Gruß
Bernd
www.bernds.page.de.vu

Anzeige
Danke - und noch ein letztes Anliegen
25.08.2003 15:51:22
Fritz
Hallo Bernd,
jetzt läuft alles wie ich mir das ursprünglich vorgestellt habe.
Allerdings - um mit Wilhelm Busch zu sprechen - "Ein Wunsch wird er erfüllt, kriegt augenblicklich Junge", hätte ich da noch ein (letztes!)Anliegen, habe jedoch größtes Verständnis, wenn es Dir jetzt zuviel wäre.
Es werden doch soviele Tabellenblätter eingefügt, wie Namen in der Spalte A (im Tabellenblatt "Tabelle1") enthalten sind. Wenn ich jetzt Namen aus dieser Spalte (Liste) wieder lösche (von den letzten Zeilen her), sollten die entsprechenden Tabellenblätter gelöscht werden.
Wenn Du mir helfen willst, freu ich mich, ansonsten auch o.K., bereits jetzt besten Dank für Deine (bisherige) Mühe.
Gruß Fritz

Anzeige
AW: Danke - und noch ein letztes Anliegen
25.08.2003 16:38:21
BerndE
Hallo Fritz,
(hoffentlich) kein Problem... Passe Deine Code wie folgt an:
Rem Änderung in Spalte 1 ?
If Target.Column <> 1 Then Exit Sub

Rem Umzubenennendes Blatt ermitteln
BlattNr = Target.Row + 1

Rem Blatt löschen oder umbenennen (je nach Wert)
If Target.Value = "" Then
Rem Löschen
Sheets(BlattNr).Delete
Else
Rem Umbenennen
Sheets(BlattNr).Name = Target.Value
End If
Das müsste eigentlich funzen...
Gruß
Bernd
www.bernds.page.de.vu

AW: Danke!
25.08.2003 20:59:06
Fritz
Hallo Bernd,
vielen Dank, funktioniert.
Da ich versprochen habe, Dich nicht mehr bemühen zu wollen, werde ich mich an der nachfolgenden Aufgabenstellung selbst versuchen (müssen). Möglicherweise bin ich momentan damit aber noch überfordert. Wenn nämlich in der Tabelle1 in der Spalte A ein Name entfernt wird, wird wie gewünscht die betreffende Tabelle gelöscht. Fügt man später wieder (einen) Namen ein, wird aber die sich (anschließende) Tabelle1 mit diesem Namen "überschrieben". Es sollte aber wieder eine weitere Tabelle vor Tabelle1 eingefügt werden.
Gruß Fritz

Anzeige
Programmaufbau
26.08.2003 07:47:44
BerndE
Moin Fritz,
das Problem liegt wohl am Programmaufbau, da das Einfügen einer neuen Tabelle mit einer anderen Prozedur funzt als das Löschen/Umbenennen.
Nachdem Du das Grundgerüst ja jetzt hast, musst Du nur noch die entsprechenden Bedingungen festlegen, damit die Prozedur weiß, ob eingefügt, gelöscht oder umbenannt werden soll.
Das bringst Du schon hin...
Gruß
Bernd
www.bernds.page.de.vu

77 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige