Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1924to1928
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

Variable mit Mid-Funktion in Find-Funkti

Variable mit Mid-Funktion in Find-Funkti
23.03.2023 16:25:10
Conan

Hallo zusammen,
ich habe folgendes Problem: ich habe in Spalte A und Spalte B, Zellen die sowohol Datum als auch Uhrzeit enthalten (bsp. 20.03.2019 15:01:22).
Ich arbeite in meiner Zielfunktion nur mit dem Datum. Ziel ist es, dass ein Datum aus Spalte B in Spalte A gefunden wird. Dabei bin ich wie folgt vorgegangen:
Ich habe eine String-Variable x mit der Midfunktion der entsprechenden Zelle in Spalte B definiert. Nun wollte ich ich mit der Find-Funktion in Spalte A nach der Variable x suchen (dabei habe ich in der Find-Funktion mit loookat:=xlpart gearbeitet). Jedoch entsteht dabei immer wieder ein Fehler der mit der Variablen x zu tun hat.

mein Code sieht wie folgt aus:

Dim x,As String
x = Mid(Cells(1, 2), 1,10)
Columns(1).Find(x, lookat:=xlPart).Select

Die Fehlermeldung lautet wie folgt: Objektvariable oder With-Blockvariable nicht festgelegt.

Vielen dank im Voraus.

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Variable mit Mid-Funktion in Find-Funkti
23.03.2023 16:38:59
onur
1) Dim x,As String - das Komma het da nix zu suchen,. stattdessen Leerzeichen.
2) Das was du bei siehst (bsp. 20.03.2019 15:01:22). ist NICHT das, was wirklich in der Zelle steht. Da ist KEIN Text, den du mit der Mid-Funktion bearbeiten musst, da steht eine Zahl (43544,6259490741), die (dank der Formatierung) nur so aussieht wie ein Datum. Die Zahl VOR dem Komma ist das Datum und die Zahl nach dem Komma ist die Uhrzeit bzw der angebrochene Tag. 43544,50 wäre z.B. 20.03.2019 12:00 Uhr und ,25 wäre 06:00 Uhr. Kannst du überprüfen, indem du die Zelle als Zahl formatierst.
Wenn du davon die Ganzzahl (Int-Funktion) nimmst, hast du nur das Datum, womit du weiterarbeiten kannst.


Anzeige
AW: Variable mit Mid-Funktion in Find-Funkti
23.03.2023 16:52:35
GerdL
Hallo Conan,

die Find-Methode gibt bei Treffer ein Rangeobjekt zurück, bei keinem Treffer Nothing und
damit kracht es dann bei der Select-Methode.
Daneben hat diese Methode mit Datümern sowieso Probleme.
Datümer sind, wenn kein Text, in Excel Zahlen mit Nachkommastellen.
Das Einfachste wäre, in Spalte A die Zeiten rauszuwerfen.
Du kannst natürlich eine Beispieltabelle hochladen, die mit ihren Mustern deinen beiden Spalten entspricht
u. beispielhaft Suchbegriff u. gewollte Trefferzelle angeben.

Gruß Gerd




Anzeige
AW: Variable mit Mid-Funktion in Find-Funkti
23.03.2023 17:03:30
Daniel
Hi
.FIND mit Datum ist tricky. Vorallem wenn man das Standarddatumformat verwendet, dann muss man .Find mit dem amerikanischen Datumsformat "füttern", obwohl man in deutschen werten sucht.
Wie das genau funktioniert, habe ich auch noch nicht durschaut.
Allerdings funktioniert die Textsuche "normal", wenn man ein Datumsformat verwendet, das für excel nicht standard ist, dann kann in den Werten so suchen, wie sie angezeigt werden. Hiefür bietet sich das (sowieso DIN-gerechte) umkehrte Datumsformat mit Jahr am Anfang an. (was sowieo besser ist, weil dann die Datumsortierung der nomalen Textsortierung entspricht)

1. Verwende das für Spalte A und B das Zahlenformat JJJJ-MM-TT hh:mm

2. schreibe die Suche dann so, mit .Text bekommst du aus der Zelle den Wert so wie er angezeigt wird und nicht die unformatierte Zahl:
Dim x As String
x = Mid(Cells(1, 2).Text, 1, 10)
Columns(1).Find(x, lookat:=xlPart, LookIn:=xlValues).Select
Gruß Daniel

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige