Clever-Excel-Forum

Normale Version: Letzte Zelle ermitteln mit Objekt Ausdruck
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo,

kann mal jemand schauen wo der Fehler liegt, ich sehe ihn nicht. Das Problem liegt bei der Ermittlung der letzten Zeile, da gibt mir immer einen Objekt Fehler, sobald ich das Workbook Objekt dazuschreibe. Warum kann ich da das Workbook nicht angeben?


Sub Doku_Änderunegn()

  Dim wbTool As Workbook, wbDoku As Workbook
  Dim shAuswahl As Worksheet, shinfo As Worksheet
  Dim NameDat As Variant
  Dim letzteBU As Long, letzteEC As Long, shinfo_letzte As Long
 
  
  
'<<< Basis Einstellung

With Application
        .ScreenUpdating = False
        .EnableEvents = False
        .DisplayAlerts = False
        .Calculation = xlCalculationManual
         End With
         
'<<< deklaration

        Set wbTool = Application.ActiveWorkbook
        Set shAuswahl = wbTool.Worksheets("Sverweis-Auswahl")
            NameDat = shAuswahl.Range("A150").Value
            Set wbDoku = Workbooks(NameDat)
            Set shinfo = wbDoku.Worksheets("Info")
                 
                    
'<<< Letzte Zeilen

 letzteBU = shinfo.Cells(Rows.Count, 2).End(xlUp).Row        <-- Hier gibt es einen Objekt fehler.
 letzteEC = shinfo.Cells(Rows.Count, 4).End(xlUp).Row

        With shinfo.Range("A:F")
               shinfo_letzte = .Find(what:="*", _
                            After:=.Cells(1), _
                            LookIn:=xlFormulas, _
                            lookat:=xlWhole, _
                            SearchOrder:=xlByRows, _
                            SearchDirection:=xlPrevious, _
                            MatchCase:=False).Row
                            End With
                                   shinfo_letzte = shinfo_letzte + 1



Gruß
Hallo,

wie stellst du sicher, dass "Workbooks(NameDat)" überhaupt geöffnet ist?

Scheinbar isses das nicht ...

vg, MM
Hallöchen,

da shinfo schon innerhalb wbdoku referenziert ist wäre es dann doppelt gemoppelt und das will Excel nicht, abgesehen davon würdest Du an der Stelle auch mehr Arbeit investieren als nötig Smile

das funktioniert:

wbDoku.Worksheets("Info").Cells(Rows.Count, 2).End(xlUp).Row


das nicht

wbDoku.shinfo.Cells(Rows.Count, 2).End(xlUp).Row