Hallo, Um das Problem zu lösen, dass die Rahmenfarben in den Spalten B bis G für die gefundene Zeile gesetzt und zurückgesetzt werden, kannst du Folgendes hinzufügen:
Code:
Sub BarcodeSuchen()
' Blattschutz aufheben shProdukte.Unprotect
Dim Targetstr As String Dim x As Variant Dim lastRow As Long
' Zellen in Spalte A zurücksetzen Range("A:A").Interior.Color = xlNone Range("A:A").Borders.LineStyle = xlNone Range("A:A").Borders.Color = RGB(255, 255, 255)
' Rahmen in Spalte B bis G zurücksetzen lastRow = Cells(Rows.Count, 2).End(xlUp).Row With Range("B1:G" & lastRow) .Borders.LineStyle = xlNone .Interior.Color = xlNone End With
Targetstr = "(" & Range("barcode").Value & ")": If Targetstr = "" Then Exit Sub With Worksheets("Produkte") x = Application.Match(Targetstr, .Columns(4), 0) If IsNumeric(x) Then ' Spalte A färben With .Cells(x, 1) .Interior.Color = RGB(226, 107, 10) .Borders.LineStyle = -4142 .Borders.Color = RGB(226, 107, 10) .Select End With
' Spalte B bis G rahmen und färben With .Range("B" & x & ":G" & x) .Borders.LineStyle = xlContinuous .Borders.Color = RGB(226, 107, 10) .Interior.Color = RGB(250, 218, 94) ' Optionale Hintergrundfarbe End With
' Werte ändern, falls erforderlich If [c_aus] Then Range("G" & x) = Range("G" & x) - Range("D4") Range("barcode").Select End If
If [c_ein] Then Range("G" & x) = Range("G" & x) + Range("D4") Range("barcode").Select End If
Else MsgBox "Der Artikel (Barcode) wurde nicht gefunden!", vbInformation, "Suchergebnis" End If End With
beachte, dass der Code von Thomasmeyer von einer KI stammt (ich bin übrigens der Meinung, dass so ein Umstand erwähnt werden müsste. Vielleicht sollte eine Kennzeichnungspflicht in die Nutzungsregeln aufgenommen werden)
Dim Targetstr As String Dim x As Variant Dim lastRow As Long Dim letzte As Long
' Zellen in Spalte A zurücksetzen Range("A:A").Interior.Color = xlNone Range("A:A").Borders.LineStyle = xlNone Range("A:A").Borders.Color = RGB(255, 255, 255)
' Rahmen in Spalte B bis G zurücksetzen lastRow = Cells(Rows.Count, 2).End(xlUp).Row With Range("B8:G" & lastRow) .Borders.LineStyle = xlNone .Interior.Color = xlNone End With
Targetstr = "(" & Range("barcode").Value & ")": If Targetstr = "" Then Exit Sub With Worksheets("Produkte") x = Application.Match(Targetstr, .Columns(4), 0) If IsNumeric(x) Then ' Spalte A färben With .Cells(x, 1) .Interior.Color = 682978 .Borders.LineStyle = -4142 .Borders.Color = RGB(226, 107, 10) .Select Range("barcode").Select End With
' Spalte B bis G rahmen und färben With .Range("B" & x & ":G" & x) '-- Zeilenbereich hervorheben .Borders(xlEdgeTop).LineStyle = xlContinuous .Borders(xlEdgeTop).Weight = 3 '1-4 .Borders(xlEdgeTop).Color = 682978 'braun .Borders(xlEdgeBottom).LineStyle = xlContinuous .Borders(xlEdgeBottom).Weight = 3 '1-4 .Borders(xlEdgeBottom).Color = 682978 'braun End With
' Werte ändern, falls erforderlich If [c_aus] Then Range("G" & x) = Range("G" & x) - Range("D4") Range("barcode").Select End If
If [c_ein] Then Range("G" & x) = Range("G" & x) + Range("D4") Range("barcode").Select End If
Else 'MsgBox "Der Artikel (Barcode) wurde nicht gefunden!", vbInformation, "Suchergebnis"
If MsgBox("Dieser Artikel wurde nicht im System gefunden!" + vbCr + vbCr + "Soll der Artikel im System neu aufgenommen werden?", vbYesNo + vbQuestion, "Neuer Artikel") = vbYes Then