Anzeige
Archiv - Navigation
1920to1924
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

vba Application.Match

vba Application.Match
09.03.2023 19:19:03
Timm
Hallo zusammen,
ich habe einen Kalender erstellt. Nun möchte ich ein Datum mit der Funktion Application.Match () suchen.
Hierzu mein Code:
Sub Kalender_eintrag_suchen()
Dim Kalender As Worksheet
Dim Suche as Variant
Dim Datum As Variant
Set Kalender = Tabelle9
'Datum, das gesucht werden soll
Datum = CDbl(Kalender.Cells(1, 2).Value)
'Der Kalender befindet sich im Bereich A2:G3
Suche = Application.Match(Datum, Kalender.Range("A2:G3"), 0)
End Sub
Leider führt mein Code zum Fehler2042.
Ändere ich den Suchbereich von A2:G3 auf A2:G2 funktioniert der Code.
Was muss ich ändern, damit die Suche klappt?
Danke vorab.
Gruß
Timm

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: vba Application.Match
09.03.2023 19:36:40
onur
Keine Ahnung, ich kenne deine Datei nicht.
AW: vba Application.Match
09.03.2023 19:54:52
Yal
Hallo Timm,
wenn es eine Datum ist, spricht ohne Nachkommastellen, solltest Du Datum als Long deklarieren, nicht als Double
(verwende "Code <pre><code>" und dein Code dazwischen, zwecks Lesbarkeit)
Sub Kalender_eintrag_suchen()
Dim Suche As Variant
'Der Kalender befindet sich im Bereich A2:G3
    Suche = Application.Match(CLng(Tabelle9.Cells(1, 2).Value), Tabelle9.Range("A2:G3"), 0)
End Sub
Ansonsten hat Onur recht: eine Datei wurde die Untersuchung wesentlich zielsicherer machen.
VG
Yal
Anzeige
AW: vba Application.Match
10.03.2023 20:47:03
Timm
Hallo Yal,
vielen Dank für den Hinweis bezüglich der Codelesbarkeit. Werde es mal mit Long versuchen. Falls es nicht funktioniert, lade ich eine Beispieldatei hoch.
Gruß
Timm
AW: vba Application.Match
10.03.2023 23:15:04
Timm
Hallo zusammen,
hier nun die Beispieldatei:
https://www.herber.de/bbs/user/158223.xlsm
Die Deklaration als Long führt zum gleichen Fehler (Fehler 2042).
Kann man mit Application.Match() überhaupt einen Bereich durchsuchen?
Oder kann nur eine Spalte oder eine Zeile durchsucht werden?
Gibt es eine andere Funktion mit der die Suche funktioniert?
Von der Funktion find wurde mir abgeraten, in Zusammenhang mit der Suche nach einem Datum.
Gruß Timm
Anzeige
AW: vba Application.Match
11.03.2023 18:20:13
GerdL
...Oder!
Sub Unit()
    Dim r As Long, X As Variant
    
    For r = 2 To 3
        If WorksheetFunction.CountA(Rows(r), CLng(Cdate(Range("B1")))) Then
            Application.Goto Cells(r, Application.Match(CLng(CDate(Range("B1"))), Rows(r), 0))
            Exit For
        End If
    Next
End Sub
Gruß
AW: vba Application.Match
12.03.2023 23:26:16
Timm
Hallo GerdL,
vielen Dank für deine Hilfestellung.
Aufgrund der Tatsache, dass du mir eine Lösung per Schleife vorschlägst gehe ich davon aus das Application.Match () tatsächlich nur in einer Spalte oder Zeile suchen kann und nicht in einem Bereich.
Oder?
Gruß
Timm
Anzeige
AW: vba Application.Match
13.03.2023 06:49:20
GerdL
Hallo Timm!
Ja.
Gruß Gerd
AW: vba Application.Match
13.03.2023 23:32:17
Timm
Hallo Gerd,
danke für die Klarstellung. Wieder was dazu gelernt.
Gruß
Timm

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige