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

wenn arbeitsblatt vorhanden makro ausführen

wenn arbeitsblatt vorhanden makro ausführen
24.04.2008 18:12:00
daniel
Hallo an alle,
zu guter letzt für heute bräuchte ich noch ein makro das überprüft ob ein bestimmtes arbeitsblatt vorhanden ist und wenn ja ein makro ausführt. die Bedingung muss für mehrere arbeitsblätter funktionieren.
danke schonmal an alle hilfebietenden
gruß daniel

12
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: wenn arbeitsblatt vorhanden makro ausführen
24.04.2008 18:23:08
Stefan
Hi Daniel,
Versuchs mal mit
For wks = 1 To Worksheets.Count
If Worksheets(wks).Name = "dein Name" Then Call makro
Next wks
Gruß
Stefan
[www.excelsolutions.de]

AW: wenn arbeitsblatt vorhanden makro ausführen
24.04.2008 18:47:00
daniel
Vielen dank für deine antowrt aber der befehl funktioniert nicht da ich nacheinander verschiedene Namen abfragen muss und immer das entsprechende makro aufrufen will. gibt es dafür nicht eine andere lösung.

AW: wenn arbeitsblatt vorhanden makro ausführen
24.04.2008 18:54:41
Stefan
Hi Daniel,
hat also jedes Tabellenblatt sein eigenes Makro?
Gruß
Stefan
[www.excelsolutions.de]

AW: wenn arbeitsblatt vorhanden makro ausführen
24.04.2008 18:51:00
Beate
Hallo Daniel,
Public Sub ResumeCheck()
    'http://www.online-excel.de/excel/singsel_vba.php?f=147
    'Achtung es wird auf Sheets geprüft, nicht auf Worksheets
    Dim sTest As String
    On Error Resume Next
    sTest = ThisWorkbook.Sheets("Tabelle2").Name 'Tabellenname anpassen
    If Err = 0 Then
        Call dein_Makro 'Makroname anpassen
    Else
        MsgBox "Kein Blatt mit diesem Namen existiert"
    End If
End Sub


Gruß,
Beate

Anzeige
AW: wenn arbeitsblatt vorhanden makro ausführen
24.04.2008 18:55:00
Beate
Hallo Daniel,
nach diesem Muster kannst du mit meinem Makro auf verschiedene Blätter prüfen und die entsprechenden Makros aufrufen, wenn es das jeweilige Blatt gibt:
Public Sub ResumeCheck()
    'http://www.online-excel.de/excel/singsel_vba.php?f=147
    'Achtung es wird auf Sheets geprüft, nicht auf Worksheets
    Dim sTest As String
    On Error Resume Next
    sTest = ThisWorkbook.Sheets("Tabelle2").Name 'Tabellenname anpassen - 1. Test
    If Err = 0 Then
        Call dein_Makro 'Makroname anpassen - 1. Makro
    End If
    sTest = ThisWorkbook.Sheets("Tabelle3").Name 'Tabellenname anpassen - 2. Test
    If Err = 0 Then
        Call dein_Makro2 'Makroname anpassen - 2. Makro
    End If
End Sub


Gruß,
Beate

Anzeige
AW: wenn arbeitsblatt vorhanden makro ausführen
24.04.2008 19:04:00
Uwe
Hi,
ich hätte da eine Erweiterung von Stefans Code zu bieten:

Sub Blattabfrage(Blattname As String)
Dim wks As Integer
For wks = 1 To Worksheets.Count
If Worksheets(wks).Name = Blattname Then
Call makro
Exit Sub
End If
Next wks
End Sub


Diese Makro kanns Du aufrufen mit z.B.:


Sub Aufruf()
Blattabfrage ("Tabelle3")
End Sub


und so verschiedene Blätter abfragen.
OK?
Gruß
Uwe
(:o)

Ergänzend zu erwähnen
24.04.2008 19:07:00
Beate
ist, das:
"Wir hauen einfach ein On Error Resume Next davor, weisen einer String Variablen den gewünschten Namen zu.
Wenn es diesen in unserem Workbook nicht gibt, wird ein Fehler produziert.
Diesen werten wir mir Err = 0 aus.
Denn wenn kein Fehler aufgetreten ist, ist das Err = 0 sonst eine Fehlernummer.
Simple und elegant.
Was erschwerend bei dieser Variante hinzukommt:
Sie ist - jedenfalls in meinen Tests - um vieles schneller, als eine Schleife über alle Blätter! "
Siehe ganz unten unter: http://www.online-excel.de/excel/singsel_vba.php?f=147
Gruß,
Beate

Anzeige
AW: Ergänzend zu erwähnen
24.04.2008 19:55:07
daniel
Danke für die vielen antworten die Varinate von beate find ich am elegantesten das problem sie funktioniert nicht die sub die ich aufrufen will werden nicht gestartet. Woran kann das liegen?
Dim sTest As String
On Error Resume Next
sTest = ThisWorkbook.Sheets("VP-BIB").Name
If Err = 0 Then
Call BIB
End If

Bei mir geht's
24.04.2008 20:03:51
Beate
Hallo Daniel,
ich habe es getestet und bei mir funktioniert es. Hier die beiden Makros:
Public Sub Daniel()
    Dim sTest As String
    On Error Resume Next
    sTest = ThisWorkbook.Sheets("VP-BIB").Name
    If Err = 0 Then
        Call BIB
    End If
End Sub

Sub BIB()
    MsgBox "Hallo"
End Sub


Beide musst du in ein Modul einfügen und das Makro Daniel aufrufen.
Die MsgBox mit "Hallo" kannst du nur sehen, wenn die Datei ein Blatt mit dem Namen VP-BIB existiert.
Gruß,
Beate

Anzeige
AW: Bei mir geht's
24.04.2008 21:06:00
Gerd
Hallo zusammen,
so ist es etwas flexibler einsetzbar.
Sub test()
If SheetExists("Tabelle3") then Call MyMakro
End Sub



Public Function SheetExists(strName As String) As Boolean
On Error Resume Next
SheetExists = Not Sheets(strName) Is Nothing
End Function


Gruß Gerd

AW: Bei mir geht's
25.04.2008 10:26:00
daniel
Ok bei mir geht es auch allerdings nur wenn ich den code direkt in das entsprechende excelsheet einfüge. Ich will es allerdings als addin für verschiedene Excelsheets verfügbar machen - ein entsprechendes addin habe ich auch schon geschrieben aber aus dem addin führt er das makro mit der schleife nicht mehr aus? woran kann das denn liegen
Ich hänge noch mal den code an wie er bei mir aussieht
Public Sub Löschen()
Dim sTest As String
On Error Resume Next
sTest = ThisWorkbook.Sheets("VP-BIB").Name
If Err = 0 Then
Call BIB
End If
sTest = ThisWorkbook.Sheets("VP-BIC").Name
If Err = 0 Then
Call BIC
End If
und so weiter
Der Aufruf wird aber jetzt nicht mehr ausgeführt?

Anzeige
AW: Bei mir geht's
25.04.2008 10:43:32
daniel
habs problem gelöst vielen dank für eure hilfe.
gruß daniel

98 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige