Excel VBA
#1
Hi ich bin blutiger Anfänger und verwende diese Zeile um mit VBA ein Datum in eine Zelle zu schreiben bzw wieder auszulesen. Leider bekomme ich hier Fehler 13. Hat jemand einen Tipp wie ich das behen kann ?

Find.Offset(0, 49).Value = CDate(TextBox_Ausbildungsbeginn_VEP_Amtshilfe.Value)

TextBox_Ausbildungsbeginn_VEP_Amtshilfe.Value = Find.Offset(0, 49).Value
Antworten Top
#2
Hallo,

mit diesen spärlichen Angaben wird man nicht viel anfangen können. Lade bitte eine Beispieldatei hoch, in der man erkennen kann, wo und nach welcher Aktion das Datum eingetragen werden soll.
Viele Grüße
Klaus-Dieter
Der Erfolg hat viele Väter, 
der Misserfolg ist ein Waisenkind
Richard Cobden
Antworten Top
#3
Hi,

Du musst der Find-Methode auch mitteilen, wonach sie suchen soll und wie genau (exakt / enthält, in Werten / Formeln etc.), bevor Du dann - ausgehend von dem Treffer - mit Offset eine andere Zelle ansteuerst.

Range.Find-Methode (Excel) | Microsoft Learn
Antworten Top
#4
Was bedeutet denn " Ich verwende diese Zeile...."? Hat das denn schon Mal funktioniert?
Antworten Top
#5
Hallo

schau mal bitte hier:  Find.Offset(0, 49).Value   Find ist ein Schlüsselwort das in VBA verwendet wird!
Man darf/sollte solche Wörter NIEMALS als Variable oder Range Angaben benutzen. Kann Crash geben!
Benutze statt Find lieber das Kürzel rng, oder jeden belieben anderen Namen. z.B. auch sFind oder FZelle.

mfg Gast 123
Antworten Top
#6
ja ohne CDate schreibt er mir zwar das Datum in eine Zelle, womit ich es dann aber nicht mit der wenn Formel finden kann. Da es nur als Zahl und nicht als Datum rein geschrieben wird. Mit Cdate sollte er es eigentlich als Datum schreiben. hat auch mal kurz funktioniert. Dann habe ich es bei mehrern Zellen angewendet und  jetzt gibt er den Laufzeitfehler aus.

das Find macht bisher keine Probleme. Es soll einfach aus einer Textbox ein Datum in eine Zelle geschrieben werden. Wo es auch als Datum und nicht als Text mit der Formel:

=ZÄHLENWENNS(Datenbank!AN2:AN301;">=01.01.2020";Datenbank!AN2:AN301;"<=31.12.2023";Datenbank!BY2:BY301;"nein")

auch gefunden wird.
Antworten Top
#7
Moin,

einen Type-Mismatch gibt es bei den beiden genannten Zeilen nur dann, wenn ein Fehlerwert ausgelesen werden soll, oder wenn der Inhalt der Textbox von CDate nicht als Datum verarbeitet werden kann.

Viele Grüße
derHoepp
Antworten Top
#8
Hallo

ich habe gerade gelesen was der Kollege vorher geschrieben hat. Das ließe sich meines Erachtens so prüfen.
If Not IsDate( CDate(TextBox_Ausbildungsbeginn_VEP_Amtshilfe.Value) ) Then MsgBox "Kein Datum": Exit Sub

mfg Gast 123
Antworten Top
#9
moin vielen Dank für deine Antwort, da wirft er aber auch leider Fehler 13 aus und markiert die Befehlszeile von dir
Antworten Top
#10
moin,

jetzt ist es schon Beitrag 10
bis zu welcher Beitragsnummer möchtest du das rausziehen bis du eine Datei zur Verfügung stellst?

mfg Tom
Antworten Top


Gehe zu:


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