Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

In Spalte Zahl suchen und Zeilennummer ausgeben
#11
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.
Beste Grüße
  Günther

Excel-ist-sexy.de
  …schau doch mal rein!
Der Sicherheit meiner Daten wegen lade ich keine *.xlsm bzw. *.xlsb- Files mehr herunter! -> So geht's ohne!
Antworten Top
#12
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.
Gruß Atilla
Antworten Top
#13
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
Antworten Top
#14
(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.
Antworten Top
#15
Hi,

(14.02.2016, 21:39)snb schrieb: Diese Code reicht

danke, das teste ich auch.
Antworten Top
#16
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.
Antworten Top


Gehe zu:


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