Suchen/Scannen/Markieren

Bild

Betrifft: Suchen/Scannen/Markieren
von: Marcus
Geschrieben am: 13.10.2015 13:34:34

Moin,
ich habe ein kleines Problem, das immer mal wieder auftaucht. Im Grunde genommen ganz einfach. In Spalte "C" ist das Suchkriterium. Aktuell gehen wir über die normale Suchfunktion von Excel und wenn das Kriterium gefunden wurde, markieren wir die Zelle händisch und suchen dann weiter. Kann man das irgendwie automatisieren? Also wenn gefunden (per Scanner) dann automatisch einfärben "grün"? Und automatisch den nächsten Scan vorbereiten? Geht sowas per VBA???

Bild

Betrifft: AW: Suchen/Scannen/Markieren
von: UweD
Geschrieben am: 13.10.2015 14:14:28
Hallo
bin mir nicht sicher, ob die Zellen dauerhaft gefärbt werden sollen oder nur kurz für den aktuell gescannten Wert.
Für Fall 2 eignet sich die bedingte Formatierung.
- Spalte C markieren
- Bedingte Formatierung
- Formel..
=UND(C1=F$1;C1<>"")

Ziel

 CDEF
1Suchspalte ScannfeldAAA
2AAA   
3AAA   
4BBB   
5AAA   
6CCC   
7DDD   
http://excel-inn.de/dateien/vba_beispiele/tabellenanzeige_in_html_addin.zip
http://Hajo-Excel.de/tools.htm
XHTML-Tabelle zur Darstellung in Foren, einschl. der neuen Funktionen ab Version 2007
Add-In-Version 19.03 einschl. 64 Bit


Damit der Scanner immer nur in dem einen Feld scannt,
- nur das Feld für den Scannwert entsperren (hier F1)
- Tabellenblatt schützen und dabei den Haken bei "gesperrte Zellen auswählen" rausnehmen.
Geht natürlich auch durch Handeingabe ohne Scanner
Gruß UweD

Bild

Betrifft: AW: Suchen/Scannen/Markieren
von: Marcus
Geschrieben am: 13.10.2015 17:38:13
Hi,
danke für die Antwort. Es soll aber dauerhaft markiert werden - damit wir am Ende Differenzen feststellen können. Hast Du da auch eine Idee?

Bild

Betrifft: AW: Suchen/Scannen/Markieren
von: UweD
Geschrieben am: 14.10.2015 12:55:40
Hallo nochmal
Ok. vergiss die Bedingte Formatierung..
- Rechtsclick auf den Tabellenblattreiter
- Code anzeigen
- den Code dort reinkopieren

Private Sub Worksheet_Change(ByVal Target As Range)
    Dim SP As Single
    Dim ZE As Single
    Dim LR As Double
    Dim RNG As Range, SCAN As Range
    SP = 1 ' Suchspalte A
    ZE = 2 ' erste Zeile wegen Überschrift
    Application.ScreenUpdating = False
    With ActiveSheet
        Set SCAN = .Range("D1:D1") ' Scannfeld
        LR = .Cells(Rows.Count, SP).End(xlUp).Row 'letzte Zeile
        If Not Intersect(Target, SCAN) Is Nothing Then
            Set RNG = .Range(Cells(ZE, SP), Cells(LR, SP)) 'Suchbereich
            If Target <> "" And Application.CountIf(RNG, Target.Value) > 0 Then
                If .AutoFilterMode Then .AutoFilterMode = False ' Autofilter ausschalten
                .Columns(SP).AutoFilter
                RNG.AutoFilter Field:=1, Criteria1:=Target.Value
                With RNG.Interior
                    .Pattern = xlSolid
                    .PatternColorIndex = xlAutomatic
                    .Color = 5296274
                End With
                .AutoFilterMode = False
            End If
        End If
        SCAN.Select
    End With
End Sub

Das Makro setzt einen Filter über die Spalte (hier A) mit dem Scanwert,
färbt die gefundenen Zellen,
nimmt den Filter wieder raus
und geht wieder in die Scanzelle
!! GROSS/klein Schreibung wird bei Filter nicht berücksichtigt !!
Gruß UweD

 Bild

Beiträge aus den Excel-Beispielen zum Thema "VBA: Schleife "