Live-Forum - Die aktuellen Beiträge
Datum
Titel
29.03.2024 13:14:12
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1704to1708
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

Call einmalig ausführen?

Call einmalig ausführen?
08.08.2019 11:36:44
Sascha
Hallo,
ich bin neu hier und habe gleich mal ein Anliegen.
Und zwar will ich mit
Call BackupAnlegen
ein neues Tabellenblatt mit dem Namen Backup erzeugen. Das Makro an sich funktioniert wie gewünscht und erzeugt die gewünschten Spalten. Nun will ich aber nicht jedes mal, wenn ich eine Zeile über Sub TabellenEIntrag eintragen will, das Makro aufrufen, sondern nur einmalig, wenn die Tabelle noch nicht vorhanden ist. Sprich direkt vor dem ersten Eintrag/ersten Aufruf von TabellenEintrag. Andernfalls würden ja auch bisherige Werte gelöscht.
Das Sub TabellenEIntrag wird von einem Startwert (anderes Makro) immer wieder aufgerufen und trägt den gewünschten Wert in ausgewählte Zellen ein. Auch das Klappt, wenn die Tabelle vorhanden ist.
Daher: Wie kann ich den Call nur einmal ausführen lassen? Habe überlegt, abzuprüfen, ob die Tabelle bereits vorhanden ist und wenn ja dann nicht (if abfrage). Allerdings weiß ich auch da nicht wirklich weiter und vielleicht gibt es noch elegantere Lösungen.
Vielen Dank

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Call einmalig ausführen?
08.08.2019 11:46:41
Nepumuk
Hallo Sascha,
was spricht gegen die Abfrage ob die Tabelle bereits existiert? Ich würde das nicht anders machen.
Public Sub Beispiel()
    Const SHEET_NAME As String = "Backup"
    Dim objWorksheet As Worksheet
    Dim blnFound As Boolean
    For Each objWorksheet In ThisWorkbook.Worksheets
        If objWorksheet.Name = SHEET_NAME Then
            blnFound = True
            Set objWorksheet = Nothing
            Exit For
        End If
    Next
    If Not blnFound Then
        MsgBox "Die Tabelle gibt es nicht."
    End If
End Sub

Gruß
Nepumuk
Anzeige
AW: Call einmalig ausführen?
08.08.2019 12:20:04
Jens

If IsError(Evaluate("Backup!$A$1")) Then Call BackupAnlegen

AW: Call einmalig ausführen?
08.08.2019 12:57:54
Sascha
Hallo,
Danke euch für die schnelle Rückmeldung, hat mir beides sehr geholfen!
@ Nepumuk so konnte ich sehen, wie mein Makro hätte sein sollen
@ Jens das ist sehr elegant und kurz, copy paste und klappt.
Vielen Dank und Grüße
Sascha

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige