Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Outlook VBA > Excel Eintragungen, Fehler bei Row Count
#1
Hallo zusammen,

ich habe mir ein Makro geschrieben, welches Anhänge auf ein Laufwerk verschiebt und die Anhänge in einer Excel Liste auflistet, das funktioniert auch ganz gut.

Allerdings habe ich ein kleines Problem bei der ganzen Sache, wenn ich Outlook öffne und das Makro ausführe, läuft es ohne Probleme durch und macht alles was es soll. Wenn ich das Makro allerdings ein zweites mal starte, kommt der Fehler: 1004: Die Methode 'Rows' für das Objekt "_Global" ist fehlgeschlagen.

Der Fehler ploppt bei der Prüfung der letzten Reihe auf (letzteReihe = ma.Cells(Rows.Count, 7).End(xlUp).Row)

Hier ist der Code Schnippsel um den es sich dreht:

Code:
Sub test()

    Set ns = GetNamespace("MAPI")
    
    Set appExcel = CreateObject("excel.application")
    excelDatenbank = laufwerk & "Test.xlsx"
    Set wb = appExcel.Workbooks.Open(excelDatenbank)
    Set ma = wb.Worksheets("Übersicht")
    ma.UnProtect pass
    appExcel.Visible = True
    
    For mail_count = 1 To inbox.Items.Count
        If inbox.Items.Count = 0 Then Exit Sub
        Set appMail = inbox.Items(mail_count)
        appMail.UnRead = False
    
        With appMail
            If .Attachments.Count > 0 Then
                letzteReihe = ma.Cells(Rows.Count, 7).End(xlUp).Row
        End If
    End With
    Next
    
    ma.Protect pass
    wb.Close SaveChanges:=True
    appExcel.Quit

End Sub

Jemand eine Idee?

Danke & Gruß
Antworten Top
#2
Hallo,

ungetestet:

Code:
letzteReihe = ma.Cells(ma.Rows.Count, 7).End(-4162).Row

Gruß
Microsoft Excel Expert · Microsoft Most Valuable Professional (MVP) :: 2011-2019 & 2020-2022 :: 10 Awards
https://de.excel-translator.de/translator :: Online Excel-Formel-Übersetzer :: Funktionen :: Fehlerwerte :: Argumente :: Tabellenbezeichner
Antworten Top
#3
Ich habe es jetzt ein paar mal hintereinander getestet, scheint zu funktionieren, vielen Dank Smile
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste