Office: Frage zu VBA, On Error GoTo...

Helfe beim Thema Frage zu VBA, On Error GoTo... in Microsoft Excel Hilfe um das Problem gemeinsam zu lösen; Hallo, in meinem Makro hab ich folgenden Code: Function MappeGeoeffnet(strName As String) As Boolean On Error GoTo fehler MappeGeoeffnet =... Dieses Thema im Forum "Microsoft Excel Hilfe" wurde erstellt von Marius82, 19. Dezember 2011.

  1. Marius82 Erfahrener User

    Frage zu VBA, On Error GoTo...


    Hallo,
    in meinem Makro hab ich folgenden Code:

    Code:
    Function MappeGeoeffnet(strName As String) As Boolean
        On Error GoTo fehler
        MappeGeoeffnet = True
        Windows(strName).Activate
        Exit Function
    fehler:
        MappeGeoeffnet = False
    End Function
    Sub Start12()
    Dim lng As Long
    Dim B As Boolean
    B = MappeGeoeffnet("Mappe1.xls")
    If B = True Then
    MsgBox "Test"
    Else
    MsgBox "Test2"
    End If
    End Sub
    
    Wieso springt On Error immer direkt auf Fehler und setzt so das MappeGeöffnet auf False??
    Ich möchte mit dem Code überprüfen ob eine Datei geöffnet ist oder halt nicht...
    Ich benutze Excel 2000
    Danke
     
    Zuletzt bearbeitet: 19. Dezember 2011
    Marius82, 19. Dezember 2011
    #1
  2. Beverly
    Beverly Erfahrener User
    Hi Marius,

    vielleicht wäre das eine Möglichkeit:
    Code:
    Sub Pruefen()
       OffenPruefen "Mappe2"
    End Sub
    
    Function OffenPruefen(strMappe As String)
       Dim wbkMappe As Workbook
       On Error Resume Next
       Set wbkMappe = Workbooks(strMappe)
       On Error GoTo 0
       If wbkMappe Is Nothing Then
          MsgBox "nicht geöffnet"
       Else
          MsgBox "Mappe geöffnet"
       End If
       Set wbkMappe = Nothing
    End Function
    Bis später,
    Karin
     
  3. Marius82 Erfahrener User
    Danke, genau das hab ich gesucht!
     
    Marius82, 19. Dezember 2011
    #3
  4. Beverly
    Beverly Erfahrener User

    Frage zu VBA, On Error GoTo...

    Hi Marius,

    einfach mal als Ergänzung und Hinweis: es gibt noch eine andere Möglichkeit und diese könnte wie folgt aussehen:
    Code:
    Function OffenPruefen(strMappe As String)
       Dim wbkMappe As Workbook
       Dim blnMappe As Boolean
       For Each wbkMappe In Workbooks
          If wbkMappe.Name = strMappe Then
             blnMappe = True
             Exit For
          End If
       Next wbkMappe
       If blnMappe = False Then
          MsgBox "nicht geöffnet"
       Else
          MsgBox "Mappe geöffnet"
       End If
    End Function
    In diesem Fall wird On Error generell umgangen. Tatsache ist, dass man besser auf On Error verzichtet, wenn es auch eine andere Möglichkeit gibt, das selbe Zeil zu erreichen. On Error- und On Error Goto-Anweisungen bergen Gefahren in sich, die man als unbedarfter Programmierer teilweise nicht voraussehen kann, weshalb man sie lieber vermeiden sollte, es sei denn man kann die Wirkungsweise tatsächlich ganz genau bestimmen. Klar, könnte es im gegebenen Fall sein, dass bei vielen offenen Arbeitsmappen dieser Code etwas länger benötigt, aber das sollte man in Kauf nehmen können.

    Bis später,
    Karin
     
Thema:

Frage zu VBA, On Error GoTo...

Die Seite wird geladen...
  1. Frage zu VBA, On Error GoTo... - Similar Threads - Frage VBA Error

  2. Frage zu Tutorial "Excel - Auswertung von farbigen Zellen"

    in Microsoft Excel Hilfe
    Frage zu Tutorial "Excel - Auswertung von farbigen Zellen": Hallo, sorry, ich war leider zu schnell... konnte das "Problem" jetzt selber lösen. Weiß aber leider nicht, wie man einen Beitrag wieder löscht. gestern bin ich mit der 1. VBA Variante super...
  3. VBA-Frage

    in Microsoft Access Hilfe
    VBA-Frage: Hallo zusammen, erhalte die Fehlermeldung - falche Anzahl an Argumenten oder ungültige Zuweisung einer Eigenschaft. Code: Function MSGOK() As Integer On Error GoTo MSGOK_ERR MSGOK = True...
  4. VBA Frage Access / Excel

    in Microsoft Access Hilfe
    VBA Frage Access / Excel: Hallo zusammen, kann ich aus Access heraus Spalten in einem Excel Sheet was nicht verknüpft ist irgendwie löschen ? Zugreifen auf das Excel Sheet kann ich Code: SELECT * FROM [excel...
  5. VBA - Was macht FreeFile und weitere Fragen

    in Microsoft Excel Hilfe
    VBA - Was macht FreeFile und weitere Fragen: Hallo zusammen, ich habe mal wieder einige Fragen an die VBA Experten. Das Makro zum Überprüfen, ob ein File bereits geöffnet ist oder nicht, habe ich aus dem Netz gefischt...
  6. Frage zur Datumsfunktion (VBA)

    in Microsoft Excel Hilfe
    Frage zur Datumsfunktion (VBA): Hallo Leute, ich habe folgenden VBA-Code gefunden, mit dem man Tabellenblätter auswählen kann, wenn sie nach Monaten benannt sind. Das funktioniert aber nur bei voll ausgeschriebenen Monaten,...
  7. Frage zu Besonderheit in VBA

    in Microsoft Excel Hilfe
    Frage zu Besonderheit in VBA: Hallo zusammen! Oft finde ich Formulierungen die aus meiner Sicht das Gleiche meinen aber dennoch beide unterscheidlich genutzt werden. If Left$(strPath, 2) = "\\" Then If Left(strPath, 2) =...
  8. dynamisches Diagramm - VBA Frage - Excel 2003

    in Microsoft Excel Hilfe
    dynamisches Diagramm - VBA Frage - Excel 2003: Guten Morgen miteinander, habe mal wieder ein Problem mit einer VBA Programmierung. Bisher: Ich habe Geschäftsjahr mit den einzelnen Monate von Okt bis Sept. Diese Monate sind Gruppiert in den...
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Auf dieser Website werden Cookies für die Zugriffsanalyse und Anzeigenmessung verwendet.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden