Microsoft Excel

Herbers Excel/VBA-Archiv

Informationen und Beispiele zum Thema MsgBox
BildScreenshot zu MsgBox MsgBox-Seite mit Beispielarbeitsmappe aufrufen

Laufzeitfehler 9

    Betrifft: Laufzeitfehler 9 von: P@ul
    Geschrieben am: 01.09.2003 11:43:27

    Hallo XL-Profis,

    habe in der Recherche einen nützlichen Code für meine Zwecke entdeckt und den gleich eingebaut. Was passt an dem untenstehenden Code denn nicht, daß ich immer wieder 'Laufzeitfehler - 9' gemeldet bekomme? Seh ich den Wald vor lauter Bäumen nicht mehr.....
    Danke für die Inspirationen.

    With Range(Cells(R, s), Cells(R + 55, s))
    Set zelle = .Find("'S:\", LookIn:=xlFormulas)
    If Not zelle Is Nothing Then
    ersteAdresse = zelle.Address
    Do
    zelle.Copy
    zelle.PasteSpecial Paste:=xlValues
    Application.CutCopyMode = False
    Set zelle = .FindNext(zelle)
    Loop While Not zelle Is Nothing And zelle.Address <> ersteAdresse
    End If
    End With

      


    Betrifft: AW: Laufzeitfehler 9 von: Michael Scheffler
    Geschrieben am: 01.09.2003 13:06:50

    Hallo Paulchen,

    in welcher Zeile passiert der Fehler?

    Gruß

    Micha


      


    Betrifft: AW: Laufzeitfehler 9 von: P@ul
    Geschrieben am: 01.09.2003 13:29:36

    In der Loop-Zeile.....


      


    Betrifft: AW: Laufzeitfehler 9 von: Michael Scheffler
    Geschrieben am: 01.09.2003 13:45:09

    Hi,

    IsNothing kann eine Zelle eh nicht sein, besser ist IsEmpty. Aber sag mal, was soll der Code?

    Gruß

    Micha


      


    Betrifft: AW: Laufzeitfehler 9 von: P@ul
    Geschrieben am: 01.09.2003 13:52:53

    Danke Michael, aber das mit isEmpty bringt's auch nicht:
    'Objekt erforderlich' ist die Meldung am ende des ausgeführten Makros.
    Zweck des Codes ist in einem bestimmten Bereich, jene zellen durch werte zu ersetzen,
    die eine WVERWEIS-Formel zu einer Datei im gleichen Laufwerk (S:) aufweisen. Die Zellen,
    die Formeln enthalten, haben keinen bestimmten "Rhythmus", mal ist die näxte zelle
    3 Zeilen tiefer mal mehr mal weniger.


      


    Betrifft: Noch offen ... von: Michael Scheffler
    Geschrieben am: 01.09.2003 15:13:00




      


    Betrifft: Nachfrage von: Martin Beck
    Geschrieben am: 01.09.2003 15:47:01

    Hallo Paul,

    stehen in dem Bereich noch andere Formeln oder können alle Formeln im ausgewählten Bereich in Werte umgewandelt werden?

    Gruß
    Martin Beck


      


    Betrifft: AW: Nachfrage von: P@ul
    Geschrieben am: 01.09.2003 16:35:21

    ja es stehen noch andere formeln; aber diese sollen erhalten bleiben.


      


    Betrifft: Lösungsvorschlag von: Martin Beck
    Geschrieben am: 01.09.2003 17:04:59

    Hallo Paul,

    ich kann Deine Fehlermeldung nicht reproduzieren, daher hier ein anderer Lösungsansatz:

    Sub Formel_ersetzen()
    Set Bereich = Range("A1:A15").SpecialCells(xlCellTypeFormulas, 23)
    For Each zelle In Bereich
        If Left(zelle.Formula, 5) = "='S:\" Then
            zelle.Copy
            zelle.PasteSpecial Paste:=xlValues
            Application.CutCopyMode = False
        End If
    Next
    End Sub
    



    Statt

    Range("A1:A15")

    mußt Du

    Range(Cells(R, s), Cells(R + 55, s))

    einsetzen.

    Gruß
    Martin Beck


      


    Betrifft: AW: Lösungsvorschlag von: P@ul
    Geschrieben am: 02.09.2003 08:34:21

    Hallo Martin,

    danke das klappt soweit ganz gut, aber die if-schleife funktioniert irgendwie nicht,
    d.h. die formeln werden nicht durch werte ersetzt.


      


    Betrifft: AW: Lösungsvorschlag von: Martin Beck
    Geschrieben am: 02.09.2003 10:24:28

    Hallo Paul,

    kann ich nicht nachvollziehen. Laß Dir mal mit

    MsgBox Left(zelle.Formula, 5)

    anzeigen, was jeweils die ersten 5 Zeichen der Formel sind. Vielleicht mußt Du da was anpassen.

    Gruß
    Martin Beck


      


    Betrifft: AW: Lösungsvorschlag von: P@ul
    Geschrieben am: 02.09.2003 10:35:55

    was soll ich sagen....manchmal sieht man den wald vor lauter bäume nicht.
    die zellen deren formeln durch werte ersetzt werden, beginnen mit "=wverweis(A1;'S:\...)"
    habe die if-schleife entsprechend angepaßt, aber statt
    If Left(zelle.Formula, 5) = "=WVER" Then
    muss es heissen
    If Left(zelle.Formula, 5) = "=HLOO" Then
    für die englische variante.

    Es bestätigt sich doch immer wieder was für ein klasse forum das hier ist. Danke!


     

    Beiträge aus den Excel-Beispielen zum Thema " Laufzeitfehler 9"