Microsoft Excel

Herbers Excel/VBA-Archiv

Zellen einfärben in einem Makro

Betrifft: Zellen einfärben in einem Makro von: Frank Tesch
Geschrieben am: 10.09.2014 17:56:27

Hallo,

ich benötige etwas Hilfe bei folgendem Makro:

------------------------------------------------
Option Explicit

Sub EANtausch()
Dim ean1 As Range
Dim ean2 As Range
Dim sh As Worksheet

For Each sh In ThisWorkbook.Worksheets
    If sh.Name <> "tausch" Then
        For Each ean1 In Range(Sheets("tausch").Cells(2, 1), Sheets("tausch").Cells(1, 1).End( _
xlDown))
            Do
                Set ean2 = sh.Cells.Find(what:=ean1.Value, lookat:=xlWhole)
            If ean2 Is Nothing Then Exit Do
                ean2.Value = ean1.Offset(0, 1).Value
                ean2.Offset(0, 1).Value = ean1.Offset(0, 2).Value
                'falls weitere Daten getausht werden sollen fortsetzen
            Loop
        Next ean1
    End If
Next sh
End Sub

-------------------------------

Dieses Makro liest die Daten aus einem Blatt "tausch" aus > nach den Daten aus der 1. Spalte wird gesucht und in den anderen Blättern werden die Daten bei Übereinstimmung mit den Daten aus der 2. und 3. Spalte ersetzt.

Dies funktioniert, aber ich bekomme es nicht hin, dass die beiden ausgetauschten Datenfelder in den anderen Blättern "gelb" eingefärbt werden und in der gleichen Zeile fünf Zellen weiter rechts ein "x" eingetragen wird.

Wer hat eine Idee ?

MfG

Frank

  

Betrifft: AW: Zellen einfärben in einem Makro von: Hajo_Zi
Geschrieben am: 10.09.2014 18:00:04

Hallo Frank,

ean2.Value = ean1.interior.color=65535
ean2.Offset(0, 1).interior.color=65535
GrußformelHomepage


  

Betrifft: AW: Zellen einfärben in einem Makro von: Frank Tesch
Geschrieben am: 10.09.2014 18:44:17

Hallo Hajo,

danke für deine sehr schnelle Antwort.

War zwar nicht "ganz" richtig, aber hat mich endlich auf die richtige Spur gebracht!

Eingefügt nach der "If ean2 Is Nothing Then Exit Do" Abfrage:

ean2.Offset(0, 1).Interior.Color = 65535
ean2.Offset(0, 2).Interior.Color = 65535
ean2.Offset(0, 6).Value = "x"

Wie gesagt vielen Dank - nun komme ich weiter!

MfG

Frank


 

Beiträge aus den Excel-Beispielen zum Thema "Zellen einfärben in einem Makro"