Informationen und Beispiele zum Thema MsgBox | |
---|---|
![]() |
MsgBox-Seite mit Beispielarbeitsmappe aufrufen |
Betrifft: exakter Zelleninhalt suchen
von: Timothy
Geschrieben am: 22.01.2010 09:08:55
Morgen miteinander,
für mich ein Problem, für euch wahrscheinlich ein Kinderspiel ;);)
Ich suche in einem Sheet einen genauen vorgegebenen Wert:
In Zeile 1 stehen z.B. in Spalte 1 "BLB", in Spalte 2 "LB", in Spalte 3"BEB", in Spalte 9 "EB",.....
Wenn ich jetzt nach "LB" suche, wird bei mir die Spalte 1 mit "BLB" gefunden!
Kann ich auch nach dem exakten Wert in einer Spalte suchen, also hier z.B. "LB"?
Wäre über eure Hilfe sehr dankbar!
Viele Grüße
Dim RowLB As Long Dim ColLB As Integer Dim SuchStrLB As String SuchStrLB = "LB" 'Suchbegriff ColLB = Cells(1, 1).End(xlToRight).Column 'Suchspalte RowLB = 1 'Suchzeile For ColLB = 1 To Cells(1, 1).End(xlToRight).Column If InStr(Cells(RowLB, ColLB), SuchStrLB) <> 0 Then Cells(RowLB, ColLB).Activate MsgBox SuchStr & " gefunden in " & Cells(RowLB, ColLB).Address 'mach was draus Exit For End If Next If InStr(Cells(RowLB, ColLB), SuchStrLB) = 0 Then MsgBox "" & SuchStrLB & " nicht gefunden. Bitte überprüfen ob " & SuchStrLB & " in _ _ erster Zeile definiert und keine leere Zellen vorhanden sind!" Exit Sub End If
Betrifft: AW: exakter Zelleninhalt suchen
von: Hajo_Zi
Geschrieben am: 22.01.2010 09:19:25
Hallo Timothy,
benutze FIND()
Sub Find_mehrmals() '************************************************* '* H. Ziplies * '* 24.11.08 * '* erstellt von HajoZiplies@WEB.de * '* http://Hajo-Excel.de * '************************************************* Dim RaFound As Range Dim FirstAddress As String Dim Search As String Dim LoLetzte As Long Dim LoI As Long Dim ByMldg As Byte Search = Worksheets("Tabelle2").Range("A1") With Worksheets("Tabelle1") LoLetzte = IIf(IsEmpty(.Range("A65536")), .Range("A65536").End(xlUp).Row, 65536) ' von Peter Haserodt Set RaFound = .Range("A1:A" & LoLetzte).Find(Search, .Range("A" & LoLetzte), , _ xlWhole, , xlNext) ' ***** If RaFound Is Nothing Then Exit Sub 'falls nicht gefunden wird sub verlassen If MsgBox("Gefunden in Zelle " & RaFound.Address(0, 0) & " ist dies richt richtige _ Zelle !!!" _ , vbYesNo + vbQuestion, "Abfrage") = 6 Then RaFound.Interior.ColorIndex = 3 Else FirstAddress = RaFound.Address Do Set RaFound = .Range("A1:A" & LoLetzte).FindNext(RaFound) If RaFound.Address = FirstAddress Then Exit Sub If MsgBox("Gefunden in Zelle " & RaFound.Address(0, 0) & " ist dies richt _ richtige Zelle !!!" _ , vbYesNo + vbQuestion, "Abfrage") = 6 Then RaFound.Interior.ColorIndex = 3 Exit Do End If If RaFound.Row = LoLetzte Then Exit Do LoI = LoI + 1 Loop End If End With Set RaFound = Nothing End Sub
Betrifft: verwende doch die Suchfunktion
von: Tino
Geschrieben am: 22.01.2010 09:28:12
Hallo,
verwende doch die Suchfunktion von Excel da kannst Du dies einstellen.
Zeichne es mit dem Rekorder, damit Du die richtige Syntax für die Suche bekommst.
Dim SuchStrLB As String Dim rngRange As Range SuchStrLB = "LB" 'Suchbegriff Set rngRange = Rows(1).Find(What:=SuchStrLB, LookIn:=xlValues, LookAt _ :=xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=True, _ SearchFormat:=False) If Not rngRange Is Nothing Then rngRange.Select MsgBox SuchStrLB & " gefunden in " & rngRange.Address 'mach was draus Else MsgBox SuchStrLB & " nicht gefunden." End IfGruß Tino
Betrifft: AW: verwende doch die Suchfunktion
von: Timothy
Geschrieben am: 22.01.2010 09:45:15
Sehr nett....
Mit der such-Funktion klappt das ganz gut!
Danke!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Have a nice weekend!
Grezze