Microsoft Office Forum [ www.Office-Fragen.de ] >> READONLY <<

Microsoft Office 2003-2019 => Excel => Thema gestartet von: StefKe am August 03, 2018, 10:15:45 Vormittag

Titel: Office 2016 Objektvariable nicht festgelegt
Beitrag von: StefKe am August 03, 2018, 10:15:45 Vormittag
Hallochen allerseits, ich versuche grad Werte dem entsprechenden Datum zuzuordnen und habe den schnellen Code gebastelt. Leider erscheint nur ne Fehlermeldung an der Zeile:
Zeile = DatumsBereich.Find(SuchDatum).RowSub BuchungZuordnen()
Dim DatumsBereich As Range
Dim Zeile
Dim Buchung
Dim SuchDatum
Dim i

Set DatumsBereich = Range("A2:A1255")

    For i = 2 To 72
        SuchDatum = Range("BM" & i).Value
        Zeile = DatumsBereich.Find(SuchDatum).Row
        Buchung = Range("BN" & i).Value
        Range("BI" & Zeile).Value = Buchung
    Next i
End Sub
Wo liegt der Fehler?
Danke
Stefan
Hat sich erledigt - wenn man nach Werten sucht die es nicht gibt dann geht es eben so aus :-(
Titel: Antw: Office 2016 Objektvariable nicht festgelegt
Beitrag von: maninweb am August 04, 2018, 08:28:09 Vormittag
Hallo,

Du kannst auch On Error Resume Next verwenden, um in einem solchen Fall nicht in den Fehler zu laufen.
On Error Resume Next ist aber nur dann sinnvoll zu verwenden, wenn Du weisst, dass der Code an sich
korrekt läuft und Du den bewusst provizieren Fehler übergehen möchtest. Ungetestet, da ich keine Daten
habe. Tipp: wenn Du schon deklarierst, würde ich dann auch Datentypen setzen. Die 2 Variants habe ich
hier nur gesetzt, weil ich den genauen Typ nicht kenne.

Code: Visual Basic
  1. Sub BuchungZuordnen()
  2.  
  3.   Dim DatumsBereich As Range
  4.   Dim Zeile         As Long
  5.   Dim Buchung       As Variant
  6.   Dim SuchDatum     As Variant
  7.   Dim i             As Long
  8.  
  9.   On Error Resume Next
  10.  
  11.   Set DatumsBereich = Range("A2:A1255")
  12.  
  13.   For i = 2 To 72
  14.    
  15.     SuchDatum = Range("BM" & i).Value
  16.    
  17.     Zeile = 0
  18.     Zeile = DatumsBereich.Find(SuchDatum).Row
  19.    
  20.     If Zeile > 0 Then
  21.    
  22.       Buchung = Range("BN" & i).Value
  23.       Range("BI" & Zeile).Value = Buchung
  24.    
  25.     End If
  26.    
  27.   Next i
  28.  
  29. End Sub

Gruß
Titel: Antw: Office 2016 Objektvariable nicht festgelegt
Beitrag von: StefKe am August 04, 2018, 16:37:59 Nachmittag
Danke, der Code diente dazu 72 Werte dem jeweiligen Datum zuzuordnen und war nur für 'ne einmalige Verwendung. Das Problem war, das die Vergleichsliste mit einem zeitigeren Datum begann als die Zuordnungsliste. Ein Blick in die Hilfe und die Daten (was ist eigentlich der Plural von Datum?) hatte den AHA-Effekt zu folge :-)
DankeStefan