Clever-Excel-Forum

Normale Version: In Spalte Zahl suchen und Zeilennummer ausgeben
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Seiten: 1 2
OK Ralf, ich war vielleicht (in diesem Fall gewiss) etwas knauserig mit Worten Blush 
Besser und verständlicher wäre die entsprechende Zeile so:

Code:
Set rngData = Range("A1:B" & lRow).Find(What:=3, LookIn:=xlValues, LookAt:=xlWhole)
also mit dem What:= vor dem gesuchten Wert. Und in der Zeile oben habe ich den Suchwert auch von 333 auf 3 gekürzt. Dank eines Telefonats habe ich einmal zu stark abgekürzt und den eigentlich vorgesehenen Weg verlassen. Darum hier noch einmal als Langform:


Code:
Sub ZeileAusgeben_GMG()
   Dim lRow As Long, rngData As Range, rngFund As Range
   Dim Suchwert As Variant
   
   lRow = Cells(Rows.Count, 1).End(xlUp).Row 'Letzte Zeile Spalte_A
   Set rngData = Range("A1:B" & lRow)  'Zu durchsuchender Datenbereich
   Suchwert = 7
   Set rngFund = rngData.Find(What:=Suchwert, LookIn:=xlValues, LookAt:=xlWhole)
   If Not rngFund Is Nothing Then   'Gefunden?
      MsgBox "Zeile: " & rngFund.Row & vbCrLf & "Spalte: " & rngFund.Column
   Else  'Ansonsten ...
      MsgBox "Gesuchte Zahl nicht gefunden!"
   End If
End Sub


Also, 2 Spalten, letzte Zeile in Spalte_A bestimmt die "Länge" des Suchbereichs. Der Datentyp Variant bei Suchwert ist sinnvoll, falls einmal eine Zahl als Text eingegeben wurde und dennoch gefunden werden soll.
Hallo Ralf,

du solltest aber erkennen, warum es bei Dir nicht klappte.
Die Antwort hat dir Tom in seiner ersten Antwort gegeben. Nur das hat er nicht explicit gemacht sondern indirekt.

Bei Dir im Code steht:

.kRow

und Tom schrieb:

dann sollte k.Row schon passen.

Du hast den kleinen wesentlichen Unterschied übersehen.

Aber Deine Zeile sollte trotzdem nach der Prüfung auf not k is nothing kommen.
Diese Code reicht


Code:
Sub M_snb()
    on error resume next
    msgbox sheet1.columns(8).find("Beispiel").row
    if err.number <>0 then msgbox "schade"
End Sub
(14.02.2016, 21:29)atilla schrieb: [ -> ]Du hast den kleinen wesentlichen Unterschied übersehen.

ok, stimmt, ich hatte einen Punkt vor dem "k", weil ich dachte, da müßte der Bezug zu dem With hin.
Dann ist das jetzt klar.

Danke.
Hi,

(14.02.2016, 21:39)snb schrieb: [ -> ]Diese Code reicht

danke, das teste ich auch.
Hi Günther,

(14.02.2016, 21:15)GMG-CC schrieb: [ -> ]
Code:
Set rngData = Range("A1:B" & lRow).Find(What:=3, LookIn:=xlValues, LookAt:=xlWhole)
also mit dem What:= vor dem gesuchten Wert. Und in der Zeile oben habe ich den Suchwert auch von 333 auf 3 gekürzt.

danke, jetzt habe ich die Syntax auch kapiert. Mit der Online-Hilfe kam ich nicht so weit.
Seiten: 1 2