Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1520to1524
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
Inhaltsverzeichnis

Sheet Umbennen- Abfrage wenn existent

Sheet Umbennen- Abfrage wenn existent
02.11.2016 20:04:50
Silke
Hi, Excel-VBA-Kenner
möchte mein Makro weiter ausbauen, so das bei Doppelklick auf B2 eine vorhandene Tabelle mit dem Namen "Kopie" im Hintergrund Umbenannt wird- in "Kopie Vorjahr".
Die MSG Box habe ich bereits- nur fehlt jetzt der Befehl fürs Umbenennen darin.
Ist es auch möglich, das- wenn die "Kopie Vorjahr" bereits existiert- ein Hinweis kommt- Abbrechen / oder weitere Kopie Speichern- mit einem von mir zu vergeben Namen?
Schicke mal eine Datei mit https://www.herber.de/bbs/user/109156.xlsx
kurz gesagt-
Doppelklick B2 MSG BOX mit Tab. "Kopie" umbenennen in "Kopie Vorjahr"
Ist "Kopie Vorjahr" bereits existent- dann "Abbrechen"- oder "weitere Kopie" mit einem Tab. Namen- den ich frei wählen kann.
Ist das möglich? Habe da wenig Erfahrung.
LG Silke

10
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Sheet Umbennen- Abfrage wenn existent
02.11.2016 20:06:22
Hajo_Zi
Hallo Silke,
feststellen, ob Worksheet vorhanden ist
hier ein Beispiel, welches Du relativ einfach entsprechend abändern kannst:
Option Explicit
Sub TabAuswahl()
Dim BoVorhanden As Boolean
Dim WsTabelle As Worksheet
For Each WsTabelle In Worksheets
If WsTabelle.Name = "Tabelle1" Then
BoVorhanden = True
Exit For
End If
Next WsTabelle
If BoVorhanden Then
'vorhanden
Else
'nicht vorhanden
End If
End Sub

AW: Sheet Umbennen- Abfrage wenn existent
02.11.2016 20:33:26
Silke
Danke Hajo- aber wenn ich den Code einfüge- es tut sich nix.
Außerdem fehlt mir noch der Befehl des Umbenennens.
Habe da echt wenig Ahnung- ein fertiger Code wäre mir lieber.
MfG Silke
Anzeige
AW: Sheet Umbennen- Abfrage wenn existent
02.11.2016 20:36:12
Hajo_Zi
Hallo Silke,
dazu kann ich nichts schreiben, was wohl daran liegt das ich nicht auf fremde Rechner schaue um den Code zu sehen.
Worksheets("Tabelle1").Name = "Test"
Gruß Hajo
AW: Sheet Umbennen- Abfrage wenn existent
02.11.2016 21:08:42
Silke
Hallo Hajo-
da ist natürlich was dran- wie soll das auch gehen- ich glaube ich müsste da schon mal eine Mappe mit der richtigen Endung hochladen- woher in aller Welt soll ich denn das auch wissen?
Vielleicht noch der Code:

https://www.herber.de/bbs/user/109158.xlsm

und was ich da mir so dachte:-

Option Explicit
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Cancel = True
Application.DisplayAlerts = False
On Error Resume Next
With ThisWorkbook
If Target.Address = "$B$2" Then
If MsgBox("Soll die Tabelle Kopie Umbannt werden?", vbYesNo) = vbYes Then
Exit Sub
Else
End If
End If
End With
End Sub
MfG Silke
Anzeige
AW: Sheet Umbennen- Abfrage wenn existent
03.11.2016 05:50:35
Hajo_Zi
Hallo Silke,
die Datei wurde nicht gefunden.
Wenn ich das richtige sehe ist mein Code nicht Bestandteil Deines Code.
Also bin ich raus.
Gruß Hajo
AW: Sheet Umbennen- Abfrage wenn existent
03.11.2016 06:03:29
Silke
Guten Morgen,
hier die Datei- warum diese gestern nicht zu öffnen ging- keine Ahnung- genau so wenig- wie von einer Lösung.
https://www.herber.de/bbs/user/109161.xlsm
hier beschreibe ich noch mal mein Anliegen:
Möchte mein Makro weiter ausbauen, so das bei Doppelklick auf B2 eine vorhandene Tabelle mit dem Namen "Kopie" im Hintergrund Umbenannt wird- in "Kopie Vorjahr".
Die MSG Box habe ich bereits- nur fehlt jetzt der Befehl fürs Umbenennen darin.
Ist es auch möglich, das- wenn die "Kopie Vorjahr" bereits existiert- ein Hinweis kommt- Abbrechen / oder weitere Kopie Speichern- mit einem von mir zu vergeben Namen?
kurz gesagt-
Doppelklick B2 MSG BOX mit Tab. "Kopie" umbenennen in "Kopie Vorjahr"
Ist "Kopie Vorjahr" bereits existent- dann "Abbrechen"- oder "weitere Kopie" mit einem Tab. Namen- den ich frei wählen kann.
Ist das möglich?
LG Silke
Anzeige
AW: Sheet Umbennen- Abfrage wenn existent
03.11.2016 06:47:01
hary
Moin
Was du mit "weitere Kopie" meinst weiss ich nicht.
Probier mal so als Ansatz. Leerzeichen in Blattnamen mag VBA nicht besonders, daher Unterstrich genommen.
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Cancel = True
If Target.Address = "$B$2" Then
If IsError(Evaluate("Kopie_Vorjahr!A1")) Then
Worksheets("Kopie").Name = "Kopie_Vorjahr"
Else
If MsgBox("Soll die Tabelle Kopie Umbannt werden?", vbYesNo) = vbYes Then
Worksheets("Kopie_Vorjahr").Name = Application.InputBox("Bitte neuen Namen eingeben",  _
"Neuer Blattname")
End If
End If
End If
End Sub

gruss hary
Anzeige
AW: Sheet Umbennen- Abfrage wenn existent
03.11.2016 18:11:38
Silke
Hallo Hary,
konnte dies erst jetzt testen- Geht erst mal Super der Code. Kann man da noch etwas ändern?
Also Funktion1 geht super. ( Doppelklick- Umbenennung der Tab. "Kopie" in Tab. "Kopie_Vorjahr"
Funktion2 geht auch. ( Doppelklick- Umbennenung mit Abfragebox, ob Tab. "Kopie_Vorjahr"umbenannt werden soll-ok)
und nun soll aber die Tabelle "Kopie_Vorjahr bestehen bleiben- und eine neue Kopie der "Tabelle1" als Kopie mit eben diesem neuen Namen, der von mir zu vergeben ist erstellen.
Ich weiß sehr kompliziert! Eben deshalb.
Fasse nochmal kurz zusammen. Es gibt "Tabelle1"; "Hilfstabelle", und eine erstellte Tabelle "Kopie"
Tabelle1 ist der Master
Hilfstabelle ist meine Arbeitstabelle
Tabelle Kopie wird irgendwann erstellt
´Doppelklick Zelle B2 (Hilftabelle) bewirkt: Abfrage im Hintergrund, ob Tabelle "Kopie" existiert. Wenn ja, dann Umbenennen in Tabelle" Kopie Vorjahr"; wenn nein nix machen Abbrechen -vielleicht anzeigen, das es so eine Tabelle nicht gibt.
wurde nun so eine Tabelle "Kopie_Vorjahr" erstellt- oder existiert bereits eine und ein weiterer Doppelklick auf Zelle B2 (Hilftabelle) erfolgt
dann soll eine Kopie der "Tabelle1" ,
erzeugt werden- mit einem frei von mir zu vergeben Namen.
Ich hoffe ich hab mich richtig ausdrücken können. Das ist gar nicht so einfach.
Kann jemand helfen.
Grüße Silke
Die Lösung geht in die richtige Richtung.
Danke erst mal.
Option Explicit
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Cancel = True
If Target.Address = "$B$2" Then
If IsError(Evaluate("Kopie_Vorjahr!A1")) Then
Worksheets("Kopie").Name = "Kopie_Vorjahr"
Else
If MsgBox("Soll die Tabelle Kopie Umbannt werden?", vbYesNo) = vbYes Then
Worksheets("Kopie_Vorjahr").Name = Application.InputBox("Bitte neuen Namen eingeben",  _
_
"Neuer Blattname")
End If
End If
End If
End Sub

Anzeige
AW: Sheet Umbennen- Abfrage wenn existent
04.11.2016 08:08:03
hary
Moin
Probier mal, ob ich es richtig verstanden habe.
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Dim a As Boolean, b As Boolean
Dim neuerName As String
Cancel = True
If Target.Address = "$B$2" Then
a = IsError(Evaluate("Kopie!A1"))
b = IsError(Evaluate("Kopie_Vorjahr!A1"))
If a And b Then '-- pruefen ob Kopie oder Kopie_Vorjahr vorhanden
MsgBox "Blatt Kopie nicht vorhanden", vbCritical, "Hinweis"
Exit Sub
End If
If Not a And b Then '-- wenn Kopie vorhanden und Kopie_Vorjahr nicht vorhanden
Worksheets("Kopie").Name = "Kopie_Vorjahr" '--umbennen
ElseIf a And Not b Then '-- wenn Kopie nicht vorhanden und Kopie_Vorjahr vorhanden
neuerName = Application.InputBox("Bitte neuen Namen eingeben", "Neuer Blattname")
If neuerName  "Falsch" Then '--wenn Name eingeben
Worksheets("Tabelle1").Copy after:=Worksheets(1) '-- Tabelle1 kopieren an zweite  _
Stelle
ActiveSheet.Name = neuerName '-- kopiertes Blatt benennen laut Box
End If
End If
End If
End Sub

gruss hary
Anzeige
AW: Sheet Umbennen- Abfrage wenn existent
04.11.2016 21:14:14
Silke
Hallo Hary,
ganz genau- so ist der Code lauffähig,
Hatte nur Probleme mit den Leerzeichen in Blattnamen mag VBA nicht besonders, daher Unterstrich genommen. Du hast es auch noch geschrieben. Also ran an die Änderung- und schon läuft es.
Respekt- war kniffelig- nun komme ich vielleicht auch mal hinter die Geheimnisse VBA.
Danke noch mal, für die Arbeit.
LG Silke

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige