Live-Forum - Die aktuellen Beiträge
Datum
Titel
17.10.2025 10:28:49
16.10.2025 17:40:39
16.10.2025 17:25:38
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Object variable or With block not set

Object variable or With block not set
Ximena
Hallo ihr Lieben
Ich habe schon wieder ein Problem und weiss einfach nicht, woher es kommt!
Ich habe verschiedene Excelmakros in einem File. Wenn ich sie einfach laufen lasse, funktionieren sie einwandfrei. Jetzt will ich die Makros aber aus dem Word starten und da funktionieren alle ausser zwei! Und ich weiss einfach nicht wieso...
Gut, da der Code extrem lang ist, nur ein Ausschnitt:
Dim i As Range 'hab ich ausprobiert, ging aber trotzdem nicht
Dim j
Dim k
Dim l
Dim m
myYearShort = Right(myYear, 2)
myDate = myMonthAsNumber & "-" & myYearShort
i = Workbooks(FNData).Worksheets(1).Cells.Find(myDate).Column
j = Workbooks(FNData).Worksheets(1).Cells.Find("Reaction Time for Severity 1").Row
k = Workbooks(FNData).Worksheets(1).Cells.Find("Reaction Time for Severity 2").Row
l = Workbooks(FNData).Worksheets(1).Cells.Find("Reaction Time for Severity 3").Row
m = Workbooks(FNData).Worksheets(1).Cells.Find("Reaction Time for Severity 4").Row
Set myCopy1 = Workbooks(FNData).Worksheets(1).Cells(j, i)
Set myCopy2 = Workbooks(FNData).Worksheets(1).Cells(k, i)
Set myCopy3 = Workbooks(FNData).Worksheets(1).Cells(l, i)
Set myCopy4 = Workbooks(FNData).Worksheets(1).Cells(m, i)
Cells(2, 3).Value = myCopy1
Cells(3, 3).Value = myCopy2
Cells(4, 3).Value = myCopy3
Cells(5, 3).Value = myCopy4
Okay, meine Makro öffnet ein File (FNData) und kopiert daraus gewisse Zellen (myCopy). Vorher werden die Zellen mit Find gefunden.
Wenn ich die Makro laufen lasse, dann kommt immer in der Zeile
i = Workbooks(FNData).Worksheets(1).Cells.Find(myDate).Column

eine Fehlermeldung! Wenn ich die Zeile mit ' grün mache, geht die Makro normal weiter...
Object variable or With block not set
Ich weiss eben einfach nicht, was das bedeuten soll? Hab ich "i" falsch definiert? Oder was stimmt nicht?
Wenn nötig kann ich auch noch mehr code posten! Wäre froh um Unterstützung!
Liebe Grüsse
Ximena
Anzeige

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
Set i =... o.w.T
01.06.2012 14:47:24
Reinhard

Object required
01.06.2012 15:03:20
Ximena
Hallo Reinhard
Danke für deine Antwort. Wenn ich
    Set i = Workbooks(FNData).Worksheets(1).Cells.Find(myDate).Column

schreibe, dann kommt die Fehlermeldung
Object required
Was muss ich jetzt noch ändern?
Liebe Grüsse
Ximena
Anzeige
AW: Object required
01.06.2012 15:06:24
Reinhard
Hallo Ximena,
probiers mal so
Set i = Workbooks(FNData).Worksheets(1).Cells.Find(myDate)
Gruß
Reinhard
AW: Object required
01.06.2012 15:08:59
Ximena
Hallo Reinhard
Ja, dann funktioniert es! Aber ich möchte eben die Variable "i" nicht mit dem Inhalt der Zelle belegen, sondern mit dem Spaltenindex...
Wenn ich deinen Code nehme, dann schreibt er mir für "i" dasselbe wir für "myDate"...
Ich brauche ja "i" als Spaltenindex, weil ich danach
    Set myCopy1 = Workbooks(FNData).Worksheets(1).Cells(j, i)

machen will!
Gibt es nicht auch eine andere möglichkeit?
Liebe Grüsse
Ximena
Anzeige
AW: Object required
01.06.2012 15:12:09
Reinhard
Hallo Ximenia,
i stellt nach .Find die erste gefunde Zelle dar oder halt nix wenn nix gefunden wurde:
If not i is nothing then
Set myCopy1 = Workbooks(FNData).Worksheets(1).Cells(j, i.Column)
Gruß
Reinhard
Yeah! Dankeschön :D
01.06.2012 15:13:19
Ximena
Hallo Reinhard
Ohhh :D es funktioniert :) Dankeschön! Du bist mein Held xD daran hab ich jetzt bestimmt schon einen Tag herumgebastelt...
Ganz viele liebe Grüsse
Ximena
Anzeige
AW: Object required
01.06.2012 15:18:33
EtoPHG
Hallo,
Die .Find Methode macht dort weiter, wo du zuletzt aufgehört hast. Sonst musst du angeben, ab wo du suchen willst, mit named parameter after:=
Den Fehler bekommst immer dann, wenn die Methode nichts mehr findet.
Vorgehen:
Dim rngFnd as Range
Set rngFnd = DeineBereichsRange.Find(what:=DeinSuchBegriff, _
after:=DeineBereichsRange.Cells(1,1))
If rngFnd is Nothing Then
Msgbox "Nix (mehr) gefunden!"
Else
Msgbox "SpaltenIndex:" & rngFnd.Column
End If 
Gruess Hansueli
Anzeige
Danke trotzdem :D
01.06.2012 15:25:39
Ximena
Hallo Hansueli
Danke für deine Antwort. Das sieht aber extrem kompliziert aus :D Ich hab jetzt schon eine Lösung gefunden, ich hänge einfach ein .Column in die Klammer!
danke trotzdem und liebe Grüsse
Ximena
Dann lebst du halt mit der Unsicherheit...
01.06.2012 15:49:05
EtoPHG
dass dein Code nicht immer funktioniert, Ximena
Was du an dem Code kompliziert findest, kann ich nicht nachvollziehen.
Vielleicht mal die XL-Hilfe zur .Find Methode durchlesen ?
Gruess Hansueli
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige