Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
Anzeige
Archiv - Navigation
1336to1340
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

"Find" bei Datum in XL2000 ...

"Find" bei Datum in XL2000 ...
31.10.2013 09:15:43
Matthias
Hallo
Brauche Hilfe bei der Find-Methode.
Nachdem ich mir unzählige Beiträge aus dem Archiv angesehen habe, komme ich dennoch nicht weiter :-(
Seit mehreren Tagen versuche ich zu verstehen was da falsch läuft.
Erklärung:
2 Tabellen Tabelle1 und Tabelle2
In Tabelle1 ist mein Kalender(definierter Name:=Kalender)
In Tabelle2 ist der Name(definierter Name:=Matthias)
In der XL-Version XL2007 klappt das ohne Probleme
In der XL-Version XL2000 klappt das leider nicht.


Der Code: (benutzt wird der CodeName der Registerblätter!)
Private Sub CommandButton5_Click()
Dim RnG As Range
Tabelle1.Unprotect
Tabelle1.Range("Kalender").Interior.ColorIndex = -4142
For Each RnG In Tabelle2.Range("Matthias")
If RnG.Offset(, 1) = "ü" Then
Cells.Find(What:=RnG, After:=ActiveCell, LookIn:=xlFormulas, LookAt:=xlWhole).Interior. _
Color = 10079487
End If
Next
Tabelle1.Protect
End Sub


Es wird in XL2007 ganz brav das Datum im Kalender gefärbt, welchen im Range("Matthias") in der rechten Nachbarzelle ein "ü" (Schriftart: WingDings) stehen hat.
Userbild


Nach Klick aufs Button in XL2007 sieht das Ergebnis im Kalender (wie gewünscht) so aus:
Userbild
XL2000 meckert mich aber an bei der im Code fett markierten Zeile :-(
Wo ist da der Haken?
Folgende Sachen habe ich probiert:
statt:
Interior.Color
habe ich auch
Interior.ColorIndex getestet
LookIn auch mit XlValues gestestet
LookAt auch mit XlPart getestet
Die Variable RnG liefert mir immer das richtige Datum.
Wie gesagt, läuft das unter XL2007 einwandfrei
In XL2000 bekomme ich einen Fehler ?
Was mache ich falsch ?
Gruß Matthias

15
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: "Find" bei Datum in XL2000 ...
31.10.2013 09:38:19
hary
Moin Matthias
Du bist der Profi, was ist wenn du rng umwandelst?
What:=Clng(RnG)
oder vlt
What:=RnG.Text
gruss hary

Suche Hilfe bei der Find-Methode in VBA
31.10.2013 10:07:50
Matthias
Hallo hary
Danke für Deine Antwort.

Aber wie kommst Du denn darauf das ich Profi bin?



  • RnG.Text

  • Clng(RnG)


Hab ich schon probiert. auch CStr(RnG).
Nur in XL2000 bekomme ich diesen VBA-Fehler. Laufzeitfehler 91
Excel markiert ja nur die FehlerZeile im VBA-Code, zeigt mir aber nicht was da falsch ist
Userbild
Das Format habe ich auch schon gleichgestellt in beiden Tabellen.
Im Bild noch mit der WochentagsAnzeige. Das brachte aber auch nichts.
Was mich eben verwirrt, das es in XL2007 problemlos funktioniert.
In der Version 2003 klappt das auch.
Nur XL2000 meckert.
Gruß Matthias

Anzeige
AW: "Find" bei Datum in XL2000 ...
31.10.2013 09:46:45
Tino
Hallo,
ich habe kein xl2000 mehr, wusste gar nicht dass es diese Version überhaupt noch gibt ;-)
Was mich etwas stört ist dieses After:=ActiveCel, was geschieht wenn du dieses Argument wecklässt.
Du kannst auch noch versuchen bei dem CommandButton die
TakeFocusOnClick-Eigenschaft auf False zu setzten damit dieser nicht den Fokus bekommt.
Gruß Tino

AW: "Find" bei Datum in XL2000 ...
31.10.2013 10:20:47
Matthias
Hallo Tino
Danke für Deine Antwort

Ich habe kein xl2000 mehr, wusste gar nicht dass es diese Version überhaupt noch gibt ;-)
Ich bin sehr froh das ich diese Version noch habe!
Wenn Ich ActiveCell weglasse. passiert das Gleiche.
TakeFocusOnClick-Eigenschaft steht bereits auf False.
Gruß Matthias

Anzeige
sorry ich bin ich raus (offen)
31.10.2013 10:52:02
Tino

AW: "Find" bei Datum in XL2000 ...
31.10.2013 12:15:43
KlausF
Hallo Matthias,
erste Idee: zeichne mal die Gelbfärbung mit dem Makrorekorder unter XL2000 auf.
Evtl. gilt die Bezeichnung Color = 10079487 nicht für diese Version (?)
zweite Idee: setze vor die For-Next-Schleife noch einen With-Rahmen:
With Tabelle1
...
End With
Grundsätzlich bereitet mir das After:=ActiveCell bei der Find-Methode aber auch Probleme.
Da bin ich ganz bei Tino. Die Referenzierung vermute ich, muss genauer auf Tabelle1 verweisen ...
Gruß
Klaus

hab ich getestet ...
31.10.2013 12:33:43
Matthias
Hallo Klaus
Danke für Deine Antwort

Evtl. gilt die Bezeichnung Color = 10079487 nicht für diese Version (?)
Ich hatte ja bereits geschrieben das ich es auch mit Interior.ColoIndex versucht habe aber auch da war ich leider nicht erfolgreich.
With Tabelle1 war mE nicht notwenig, da das CommandButton in dieser Tabelle liegt
habe ich aber mal getestet:
Dim RnG As Range
With Tabelle1
.Unprotect
.Range("Kalender").Interior.ColorIndex = -4142
For Each RnG In Tabelle2.Range("Matthias")
If RnG.Offset(, 1) = "ü" Then
.Cells.Find(What:=RnG, After:=ActiveCell, LookIn:=xlFormulas, LookAt:=xlWhole).Interior. _
ColorIndex = 4
End If
Next
End With
Weiterhin Laufzeitfehler 91
Ich kann zwar damit leben, da ich verschiedene XL-Versionen zur Verfügung habe,
aber es ist für mich wichtiger zu wissen warum XL2000 da streikt.
Gruß Matthias

Anzeige
Trenne das doch mal, ...
31.10.2013 12:57:57
Luc:-?
…Matti;
setze erst eine Range-Variable auf .Find, prüfe dann auf Nothing und setze erst dann die Farbe, die ja wohl in deinen IndexFarben enthalten sein wird (Xl11 könnte aber andere Standardeinstellungen als Xl9 haben).
So kannst du zumindest feststellen, ob überhpt was gefunden wird.
Gruß Luc :-?

Trennen hab ich schon probiert ...
31.10.2013 15:28:23
Matthias
Hallo Luc
Danke für Deine Antwort.

Ich denke Du meinst ein Range-Objekt mit einer Set-Anweisung anzusprechen?
Diese Art Trennen - hab ich schon probiert Luc, leider ohne Erfolg.
Mir scheint es so als hätte ausgerechnet ich immer Pech, wenn ich mal eine Frage habe.
Trotzdem Danke für den Versuch mir zu helfen.
Ich lass mal offen
Gruß Matthias

Anzeige
Ging mir vor Jahren genauso, ...
31.10.2013 16:45:03
Luc:-?
…Matti; ;-]
also wird nichts gefunden! ActiveCell wäre durchaus zulässig, falls das ActiveSheet auch das ist, in dem gesucht wdn soll. Das muss natürlich sicher gestellt sein. Allerdings könntest du auch die letzte Zelle des UsedRange verwenden (und nur in ihm suchen), denn die Suche beginnt immer mit der nächstfolgenden Zelle, deshalb ja auch After.
Gruß Luc :-?

mit UsedRange hatte ich es schon versucht
31.10.2013 18:07:30
Matthias
Hallo
falls das ActiveSheet auch das ist, in dem gesucht wdn soll
Definitiv: Ja
Danke für Deinen Versuch zu helfen.
Gruß Matthias

Anzeige
AW: "Find" bei Datum in XL2000 ...
31.10.2013 12:54:54
KlausF
Hallo Matthias,
Laufzeitfehler 91 = Objektvariable oder With-Blockvariable nicht festgelegt
Ich bleibe dabei: die Referenzierung auf Tabelle1 läuft nicht mit ActiveCell unter XL2000.
Das "Warum" ist dabei unerheblich. Die VBA-Versionen sind eben unterschiedlich,
und manchmal ist unter einer alten Version ein unzureichender Code toleriert und
lauffähig und manchmal genau umgekehrt ...
Gruß
Klaus

AW: "Find" bei Datum in XL2000 ...
31.10.2013 15:14:32
Matthias
Hallo Klaus
Danke für Deine Antwort

Zitat
Ich bleibe dabei: die Referenzierung auf Tabelle1 läuft nicht mit ActiveCell
Der CommandButton der das Skript startet liegt doch auf Tabelle1,
deshalb ist doch mE eine Referenzierung nicht nötig.
Aber auch wenn ich diesen Parameter(mit AvtiveCell) weglasse, bekomme ich den Laufzeitfehler (nur in XL2000)
Du meinst also es ist kein Fehler im Code, sondern nur die Abwärtskompatibilität ist nicht gegeben?
Gruß Matthias

Anzeige
AW: "Find" bei Datum in XL2000 ...
31.10.2013 16:16:32
KlausF
Hallo Matthias,
es spielt aus meiner Sicht keine Rolle, wo der CommandButton liegt, sondern wo
Excel die ActiveCell zur Zeit der Ausführung sieht.
Ich meinte auch nicht, dass du die ActiveCell weglassen sollst, sondern auf
die genaue Zelladresse referenzierst (die natürlich erst ausgelesen werden müßte).
Du meinst also es ist kein Fehler im Code, sondern nur die Abwärtskompatibilität ist nicht gegeben?
Vermutlich ja. Es gibt jedenfalls genügend ähnliche Beispiele. Und unter XL2007 ist er doch lauffähig.
Gruß
Klaus

Daran kann es aber nun wirklich nicht ...
31.10.2013 16:53:31
Luc:-?
…liegen, Leute,
denn der Button kann ja nur betätigt wdn, wenn Tabelle1 aktiv ist! Damit wird dann auch in Tabelle1 gesucht! Was inzwischen verändert wurde, wird in der VBE-Hilfe dokumentiert. Was sich auf jeden Fall schon mit Xl10 geändert hatte, war die CalcEngine. Aber, ob das hierbei eine Rolle spielen kann…
Ich würde eher auf Formate tippen, die unterschiedlich behandelt wdn.
Gruß Luc :-?
Anzeige

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige