/ / Zeichenfolge in Excel suchen und in vba verwenden - vba, excel-vba, excel

Zeichenfolge in Excel suchen und in vba verwenden - vba, excel-vba, excel

Ich habe verschiedene Suchzeichenfolgen als eine angeordnetReihe nach der anderen in einer bestimmten Spalte eines Blattes. Ein anderes Blatt einer anderen Datei besteht aus anderen Daten. Eine Spalte in diesem Blatt enthält fast dieselben Zeichenfolgen wie im vorherigen Blatt, jedoch nicht in derselben Reihenfolge. Daher ist meine Routine:

  1. Kopieren Sie eine Zeichenfolge in die Suchoption
  2. Gehen Sie zu dem Blatt in der Datei und die Suchoption durchsucht es nach mir die ähnliche Zeichenfolge.
  3. Als Markierung für diese eine Suche lösche ich den Suchbegriff nachdem ich es aus dieser Datei gefunden habe.
  4. Verleihen Sie dem übergeordneten Blatt eine fette Markierung.

Allerdings ist das für mich ein mühsamer Job, weil das so istRoutine Ich muss für mindestens 10000 Zeilen fortfahren. Gibt es einen VBA-Code, mit dem ich mit einem Klick auf eine Schaltfläche oder eine Tastenkombination die oben genannten Aufgaben in einem Durchgang erledigen und nicht mehrere Schaltflächen drücken kann?

Antworten:

2 für die Antwort № 1

Vielleicht können Sie dies ein wenig ändern, um den Job zu erledigen:

Sub Find_First()
Dim FindString As String
Dim Rng As Range
FindString = InputBox("Enter a Search value")
If Trim(FindString) <> "" Then
With Sheets("Sheet1").Range("A:A")
Set Rng = .Find(What:=FindString, _
After:=.Cells(.Cells.Count), _
LookIn:=xlValues, _
LookAt:=xlWhole, _
SearchOrder:=xlByRows, _
SearchDirection:=xlNext, _
MatchCase:=False)
If Not Rng Is Nothing Then
Application.Goto Rng, True
Else
MsgBox "Nothing found"
End If
End With
End If
End Sub

Hier habe ich das Obige gefunden Code.

Sie können eine Schleife verwenden, um wie folgt durch die Master-Liste zu blättern:

blah = "."
j = 1
Do Until blah = ""
blah = Range("A" & j).Value
"Do whatever needs to be done here
j = j + 1
Loop "then cycles through to the next row and does it again until the end of the data

Und Sie können so etwas formatieren:

Range("A" & j).Interior.ColorIndex = 27 "Color:Yellow
Range("A" & j).Font.Bold = True

0 für die Antwort № 2

Dies könnte geschehen, indem beide Listen sortiert werden, ein Vlookup durchgeführt wird, um ein Flag anzuwenden, bei dem eine Übereinstimmung vorliegt, auf das Flag gefiltert und dann gelöscht und / oder hervorgehoben wird.

Kein VBA-Code erforderlich.