Live-Forum - Die aktuellen Beiträge
Datum
Titel
23.04.2024 14:59:21
23.04.2024 14:47:39
23.04.2024 14:23:45
Anzeige
Archiv - Navigation
1124to1128
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

Brauche Hilfe zu VBAcode

Brauche Hilfe zu VBAcode
ray
Hallo,
ich möchte eine bestimtme Zahl (irgendwas) in Spalte C einer externen Tabelle suchen und mir die Zeilenr in der das gefunden wurde zurückgeben. Leider geht es so nicht.
Kann mir jemand bitte helfen:
Private Sub UserForm_Click()
'#### Daten suchen und Nr. der Zeile zurückgeben in der es steht START ####
Dim wbk As Workbook
Dim wks As Worksheet
Dim irgendwas
irgendwas = "524"
Set wbk = Workbooks.Open("F:\daten\mängelliste.xls")
Set wks = wbk.Sheets(1) 'sheet heißt meldungen
msgbox"" & MATCH(irgendwas,wks!R1C[2]:R65536C[2],0)"
'msgbox"" & MATCH("524",'F:\daten\[mängelliste.xls]meldungen'!R1C[2]:R65536C[2],0)"
wbk.Close
Set wbk = Nothing
Set wks = Nothing
'#### Daten suchen und Nr. der Zeile zurückgeben in der es steht ENDE ####
End Sub

Viele Grüße aus Hamburg
Ray

14
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
Anweisung ist falsch
05.01.2010 13:49:24
Ramses
Hallo
Wenn schon, müsste es so heissen
msgbox Application.Worksheetfunction.MATCH(irgendwas,wks!R1C[2]:R65536C[2],0)
Gruss Rainer
AW: Anweisung ist falsch
05.01.2010 14:11:05
ray
Hab das jetzt so eingebaut, aber es kommt eine Fehlermeldung wobei ''[2]'' blau ist.
Private Sub UserForm_Click()
'#### Daten suchen und Nr. der Zeile zurückgeben in der es steht START ####
Dim wbk As Workbook
Dim wks As Worksheet
Dim vRow As Variant
Dim irgendwas
irgendwas = "524"
Application.ScreenUpdating = False
Set wbk = Workbooks.Open("F:\daten\mängelliste.xls")
'On Error GoTo zerror
Set wks = wbk.Sheets(1) 'sheet heißt meldungen
msgbox Application.Worksheetfunction.MATCH(irgendwas,wks!R1C[2]:R65536C[2],0) 'hier  _
kommt die ErrMld bei [2] von R1C
zerror:
ActiveWorkbook.Close savechanges:=False
wbk.Close
Set wbk = Nothing
Set wks = Nothing
'#### Daten suchen und Nr. der Zeile zurückgeben in der es steht ENDE ####
End Sub

Anzeige
AW: Anweisung ist falsch
05.01.2010 14:20:10
Ramses
Hallo
Die Rangeanweisung ist falsch
MsgBox Application.WorksheetFunction.Match(irgendwas, wks.Range("B:B"), 0)
Gruss Rainer
funzt nicht - ich geb auf und schließe
05.01.2010 14:28:46
ray
code stoppt bei
MsgBox Application.WorksheetFunction.Match(irgendwas, wks.Range("B:B"), 0)
Gruß Ray
Warum...
05.01.2010 14:37:34
Ramses
Hallo
ich kann nicht auf deinen Rechner sehen,... also musst du selbst die Fehler suchen.
Suchst du eine Zahl !! dann ist deine Deklaration falsch
Dim irgendwas as Long
oder wenn es Dezimalzahlen sein können dann
Dim irgendwas as Double
irgendwas = 524
ohne Anführungszeichen.
Die Msgbox Anweisung die ich dir gesandt habe ist getestet und funktioniert.
Also ist etwas in deiner Mappe fehlerhaft
Gruss Rainer
Anzeige
Warum? Darum!
05.01.2010 14:42:24
ray
Das Problem ist, dass die "Zahlen" in der externen Tabelle z. T. nicht als Zahlen sondern als Text abgelegt sind. Ich weiß also nicht, ob ich eine Zahl oder einen Text suche...
Eigentlich Schaden, den Vergleich ist genau das, was ich brauche.
Gruß Ray
Nicht aufgeben :-)
05.01.2010 14:56:07
Ramses
Hallo
probier mal

Private Sub UserForm_Click()
    '#### Daten suchen und Nr. der Zeile zurückgeben in der es steht START ####
    Dim wbk As Workbook
    Dim wks As Worksheet
    Dim irgendwas As Variant, myResult As Variant
    'Als Zahl suchen
    irgendwas = 524
    Set wbk = Workbooks.Open("F:\daten\mängelliste.xls")
    Set wks = wbk.Sheets(1) 'sheet heißt meldungen
    myResult = Match(irgendwas, wks.Range("B:B"), 0)
    If myResult = "" Then
        'Als Text suchen
        irgendwas = "524"
        myResult = Match(irgendwas, wks.Range("B:B"), 0)
    End If
    If myResult = "" Then
        MsgBox "Suchbegriff: " & irgendwas & " wurde nicht gefunden!", vbInformation + vbOKOnly, "Fehler"
        Exit Sub
    Else
        MsgBox "Suchbegriff gefunden in Zeile: " & myResult, vbInformation + vbOKOnly, "Ergebnis"
    End If
    wbk.Close
    Set wbk = Nothing
    Set wks = Nothing
End Sub

Gruss Rainer
Anzeige
AW: Nicht aufgeben :-)
05.01.2010 15:03:48
ray
danke, ich quäl mich schon richtig:
Jetzt ErrMld bei
myResult = Match(irgendwas, wks.Range("B:B"), 0)
Fehler beim Komplieren - Sub oder func nicht definiert....
Ich weiß gar nicht, sehen wir schon die Zielgerade?
Gruß Ray
AW: Nicht aufgeben :-)
05.01.2010 15:30:14
Ramses
Hallo
dann schreib anstelle von "Match"
Application.WorksheetFunction.Match
Gruss Rainer
Und Schluss...
05.01.2010 15:40:56
ray
Nochmals danke, aber ErrMld: die Match-Eigenschaft kann nciht zugeordnet werden.
GameOver.
Aber danke für Deine Zeit.
Gruuß Ray
Getestet und funktioniert...
05.01.2010 16:02:57
Ramses
Hallo
Ich habe das ganze jetzt mal nachgebaut und es funktioniert
Private Sub UserForm_Click()
'#### Daten suchen und Nr. der Zeile zurückgeben in der es steht START ####
Dim wbk As Workbook
Dim wks As Worksheet
Dim irgendwas As Variant, myResult As Variant
'Als Zahl suchen
irgendwas = 123
Set wbk = Workbooks.Open("F:\daten\mängelliste.xls")
Set wks = wbk.Sheets(1) 'sheet heißt meldungen
On Error Resume Next
myResult = Application.WorksheetFunction.Match(irgendwas, wks.Range("B:B"), 0)
If myResult = "" Then
'Als Text suchen
irgendwas = "524"
myResult = Application.WorksheetFunction.Match(irgendwas, wks.Range("B:B"), 0)
End If
If myResult = "" Then
MsgBox "Suchbegriff: " & irgendwas & " wurde nicht gefunden!", vbInformation + vbOKOnly, " _
Fehler"
Exit Sub
Else
MsgBox "Suchbegriff gefunden in Zeile: " & myResult, vbInformation + vbOKOnly, "Ergebnis"
End If
wbk.Close
Set wbk = Nothing
Set wks = Nothing
End Sub

Gruss Rainer
Anzeige
Respekt Ramses, Respekt. Vielen Dank.
06.01.2010 12:23:42
ray
Gruß Ray
noch offen
05.01.2010 14:29:13
ray
haken vergessen...
closed
05.01.2010 14:29:35
ray
c

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige