Microsoft Excel

Herbers Excel/VBA-Archiv

Informationen und Beispiele zum Thema MsgBox
BildScreenshot zu MsgBox MsgBox-Seite mit Beispielarbeitsmappe aufrufen

Spalten vergleich,einfärben und ausblenden

Betrifft: Spalten vergleich,einfärben und ausblenden von: Christian
Geschrieben am: 13.08.2004 18:10:45

Hallo an alle Cracks!
Ich habe folgendes Problem bei beiliegender Tabelle.
https://www.herber.de/bbs/user/9608.xls
Will ein Makro schreiben, dass mir die Preise des Kunden A und B miteinander vergleicht. Dann will ich, dass die Preise eingefärbt werden und zwar nur bei solchen Kunden, die entweder 0 oder garnichts drin stehen haben.
Die Farben sollen jeweils gleich sein. Dann möchte ich einen Farbvergleich.
Wenn beide Kunde gleiche Farben aufweisen, z.B. Artikel I, dann soll eine Messagebox aufgehen und mir anbieten die jeweilige Zeile auszublenden oder "es sein zu lassen"
Ich beiss mir darin die Zähne aus
komme einfach nicht mehr
Danke schon im Voraus

Gruss
Christian

  


Betrifft: AW: Spalten vergleich,einfärben und ausblenden von: Bertram
Geschrieben am: 13.08.2004 18:58:34

Hi Christian,

hier mal ein Vorschlag.



Sub Farbvergleich()
Dim i As Integer
Dim zelle As Range
Dim Ausblenden As Integer

For Each zelle In Selection 'markiere vor Start alle Preise
    If zelle.Value = "" Then zelle.Interior.ColorIndex = 4
    If zelle.Value = "" Then zelle.Interior.ColorIndex = 5
Next zelle
For i = 1 To Sheets(8).UsedRange.Rows.Count
    If Cells(i, 2).Interior.ColorIndex <> xlColorIndexNone And _
        Cells(i, 3).Interior.ColorIndex <> xlColorIndexNone And _
        Cells(i, 2).Interior.ColorIndex = Cells(i, 3).Interior.ColorIndex Then
            Ausblenden = MsgBox("Zeile " & i & " ausblenden?", vbYesNo)
            If Ausblenden = vbYes Then Sheets(8).Rows(i).EntireRow.Hidden = True
    End If
Next i
End Sub

     Code eingefügt mit Syntaxhighlighter 2.5

Gruß
Bertram


  


Betrifft: AW: Spalten vergleich,einfärben und ausblenden von: Nachtrag
Geschrieben am: 13.08.2004 19:20:24

Hi Christian,

falls "nichts" und "0,0" die gleiche Farbe haben sollen (was ich aus deiner Frage nicht so ganz verstanden habe), dann sieht das ganze so aus:



Sub Farbvergleich()
Dim i As Integer
Dim zelle As Range
Dim Ausblenden As Integer

For Each zelle In Selection 'markiere vor Start alle Preise
    If zelle.Value = "" Or zelle.Value = "0" Then zelle.Interior.ColorIndex = 4
    'If zelle.Value = "" Then zelle.Interior.ColorIndex = 5
Next zelle
For i = 1 To Sheets(8).UsedRange.Rows.Count
    If Cells(i, 2).Interior.ColorIndex <> xlColorIndexNone And _
        Cells(i, 3).Interior.ColorIndex <> xlColorIndexNone Then 'And _
        Cells(i, 2).Interior.ColorIndex = Cells(i, 3).Interior.ColorIndex Then
            Ausblenden = MsgBox("Zeile " & i & " ausblenden?", vbYesNo)
            If Ausblenden = vbYes Then Sheets(8).Rows(i).EntireRow.Hidden = True
    End If
Next i
End Sub

     Code eingefügt mit Syntaxhighlighter 2.5

Gruß
Bertram


  


Betrifft: AW: Spalten vergleich,einfärben und ausblenden von: Christian
Geschrieben am: 14.08.2004 18:50:37

Danke Bertram
Vielleicht habe ich mich etwas undeutlich ausgedrückt
Ich will nichts händig markieren, eine Schleife soll Spalte B und C durch durchlaufen und markieren. Es sollen folgende Werte miteinander verglichen werden. Bsp. Artikel B
des Kunden A und B, also nur Artikelweise!
dann sollen diejenigen Preise eingefärbt werden, die nichts oder null enthalten, aber mit 2 unterschiedlichen Farben. Im Anschluss daran sollen alle die Zeilen markiert werden, die nichts enhalten, null also nicht!
Zuletzt soll eine Messagebox aufgehen und alle Markierten entfernen. Es muss nicht für jede Zeile eine einzelne maessagebox aufgehen
Danke schon im voraus

GRuss
christian


  


Betrifft: AW: Spalten vergleich,einfärben und ausblenden von: Bertram
Geschrieben am: 14.08.2004 19:25:51

Hi Patrick,

im Grunde doch gar nicht so verkehrt.
Neuer Versuch:


Sub Farbvergleich()
Dim i As Integer
Dim Ausblenden As Integer

Application.ScreenUpdating = False
For i = 3 To Sheets(9).UsedRange.Rows.Count 'Preise fangen in Zeile 3 an
    If Cells(i, 2).Value = "" Then Cells(i, 2).Interior.ColorIndex = 5
    If Cells(i, 3).Value = "" Then Cells(i, 3).Interior.ColorIndex = 5
    If Cells(i, 2).Value = "0" Then Cells(i, 2).Interior.ColorIndex = 4
    If Cells(i, 3).Value = "0" Then Cells(i, 3).Interior.ColorIndex = 4
    If Cells(i, 2).Interior.ColorIndex = 5 And Cells(i, 3).Interior.ColorIndex = 5 Then _
        Sheets(9).Rows(i).EntireRow.Hidden = True
Next i
    Ausblenden = MsgBox("Zeilen ausblenden?", vbYesNo)
    If Ausblenden = vbNo Then Cells.EntireRow.Hidden = False
Application.ScreenUpdating = True
End Sub


     Code eingefügt mit Syntaxhighlighter 2.5

Gruß
Bertram


  


Betrifft: Sorry, meinte natürlich "Hi Christian" oT von: Bertram
Geschrieben am: 14.08.2004 19:27:32




  


Betrifft: AW: Spalten vergleich,einfärben und ausblenden von: Christian
Geschrieben am: 14.08.2004 21:29:02

Vielen Dank
Hat funktioniert
Schönen Abend noch!


 

Beiträge aus den Excel-Beispielen zum Thema "Spalten vergleich,einfärben und ausblenden"