Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
776to780
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
776to780
776to780
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Code ändern: Nachfrage, wenn Tabelle existiert

Code ändern: Nachfrage, wenn Tabelle existiert
01.07.2006 16:24:15
Fritz
Hallo Forumsbesucher,
ich hätte gerne, dass nachstehender Code so abgeändert wird, dass, falls eine Tabelle mit gleichem Namen in der Datei schon existiert, nachgefragt wird, ob die bestehende Tabelle gelöscht werden soll oder nicht:
Tabelle mit gleichem Namen bereits vorhanden! Soll diese gelöscht werden:
Ja/Nein
bei Ja: löschen und neu anlegen,
bei Nein: Code nicht ausführen
Vielen Dank für eure Hilfe
Gruß
Fritz

Sub Mitglieder_anlegen()
Worksheets("Tabelle2").Activate
ActiveSheet.Unprotect Password:="xxx"
Dim mysheet As Worksheet
Dim x As Boolean
cb = Cells(1, 4)
x = False
For Each mysheet In ActiveWorkbook.Worksheets
If mysheet.Name = cb Then
x = True
Else
End If
Next
If x = True Then
Else
Application.EnableEvents = False
Application.ScreenUpdating = False
Sheets("Tabelle2").Copy After:=Sheets(Sheets.Count)
ActiveSheet.Name = cb
Application.EnableEvents = True
Application.ScreenUpdating = True
End If
Cells.Select
Range("B1").Activate
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Range("AD1:AI1").Select
End Sub

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Code ändern: Nachfrage, wenn Tabelle existiert
01.07.2006 17:15:17
Christoph
Hallo Fritz,
könnte zB so aussehen:
Gruß
Christoph
Option Explicit
Sub Mitglieder_anlegen()
Dim wks As Worksheet
Dim blnFnd As Boolean
Dim strName As String
Application.EnableEvents = False
Application.ScreenUpdating = False
Worksheets("Tabelle2").Unprotect Password:="xxx"
strName = Worksheets("Tabelle2").Cells(1, 4)
For Each wks In ThisWorkbook.Worksheets
If wks.Name = strName Then
blnFnd = True
Exit For
End If
Next
If blnFnd Then
If MsgBox("Tabelle mit gleichem Namen bereits vorhanden!" & vbLf & _
"Soll diese gelöscht werden?", 4) = 6 Then
Application.DisplayAlerts = False
ThisWorkbook.Worksheets(strName).Delete
Application.DisplayAlerts = True
blnFnd = False
End If
End If
If Not blnFnd Then
Worksheets("Tabelle2").Copy After:=Sheets(Sheets.Count)
Set wks = Sheets(Sheets.Count)
wks.Name = strName
wks.Cells.Copy
wks.Range("A1").PasteSpecial xlPasteValues
wks.Range("A1").Select
Application.CutCopyMode = 0
End If
Application.EnableEvents = True
Application.ScreenUpdating = True
End Sub

Anzeige
AW: Code ändern: Nachfrage, wenn Tabelle existiert
01.07.2006 17:41:11
Fritz
Hallo Christoph,
beim Ausführen des Makros erfolgt ein Abbruch mit der Fehlermeldung: "Laufzeitfehler 1004:" Siw Methode "Name" für das Objekt Worksheet ist fehlgeschlagen.
Der Fehler bezieht sich auf folgende Anweisung im Code:
If wks.Name = strName Then
Trotzdem wird die Quelltabelle kopiert und in der Datei unter ihrem Namen mit dem Zusatz (2) eingefügt.
Vielleicht weißt Du aufgrund dieser Informationen, woran das liegt!
Gruß
Fritz
AW: Code ändern: Nachfrage, wenn Tabelle existiert
01.07.2006 19:54:47
Christoph
Hallo Fritz,
so ganz kann ich das nicht nachvollziehen, es sei denn ...
Hast du denn einen Eintrag in Tabelle2, Zelle "D1"? Dort wird ja der Name für die neue Tabelle bestimmt. Oder stehen dort Zeichen, die für den Tabellennamen nicht erlaubt sind (: \ / ? * [ ]). Wenn ja, kommt es zur benannten Fehlermeldung.
Diese ließe sich auch noch abfangen.
Gruß
Christoph
Anzeige
AW: Code ändern: Nachfrage, wenn Tabelle existiert
01.07.2006 21:32:00
Fritz
Hallo Christoph,
ich werde mich morgen näher damit beschäftigen und werde mich auf jeden Fall hier noch einmal melden.
Einstweilen möchte ich mich einfach nur für Deine Hilfe recht herzlich bedanken!
Gruß
Fritz
AW: Code ändern: Nachfrage, wenn Tabelle existiert
02.07.2006 10:09:26
Fritz
Hallo Christoph,
dein Hinweis war entscheidend.
Ausgeruht, die Sache noch einmal angesehen, habe ich den Fehler schnell entdeckt.
Und es war natürlich mein Fehler.
Ich hatte tatsächlich zwischenzeitlich das Tabellenblatt 1 etwas verändert, so dass der jeweilige Dateiname (wird über eine Formel erzeugt) nun nicht mehr in Zelle D1, sondern in F1 steht. Man muss ja immer beachten, dass EXCEL den Code - im Gegensatz zu Formeleingaben - bei solchen Veränderungen natürlich nicht anpasst.
Wenn man zu lange am Computer sitzt, macht man Fehler, die man tags darauf selbst nicht mehr verstehen kann. Bitte um Entschuldigung!
Konnte den Code entsprechend selbst anpassen und nun läuft das Ganze wie gewünscht.
Nochmals vielen Dank und schöne Grüße
Fritz
Anzeige
Danke für die Rückmeldung (o.T.)
02.07.2006 14:12:27
Christoph

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige