Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
300to304
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
300to304
300to304
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Prüfen ob Hintergrundfarbe in VBA

Prüfen ob Hintergrundfarbe in VBA
02.09.2003 22:20:17
Christoph
Hallo bestes Forum,
ich knabber mal wieder an einem Problem bei VBA:
Wenn in einer Zeile in der Spalte K nichts eingetragen ist und in Spalte M (gleiche Zeile) ist ein Eintrag und die Hintergrundfarbe von der Zelle in Spalte M kommt in jeder einzelnen Zelle der Spalten A bis J (auch wieder nur diese Zeile) nicht vor, dann kopiere die Zelle aus Spalte M nach Spalte K. Nach diesem Schema werden alle Zeilen durchlaufen.
Mein Problem:
Wie formuliere ich das Thema: "Hintergrundfarbe von der Zelle in Spalte M kommt in jeder einzelnen Zelle der Spalten A bis J" nicht vor?


Sub kopiere_wenn_Farbe()
lRow = Cells(Rows.Count, 1).End(xlUp).Row
For i = lRow + 1 To 3 Step -1
CIndex = Cells(i, 13).Interior.ColorIndex
If Cells(i, 11) = 0 And Cells(i, 13) <> 0 And ???<>CIndex Then
Cells(i, 13).Copy
Cells(i, 11).Select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= False, Transpose:=False
End If
Next i
End Sub

Ich benötige also für jede Zeile i einen Durchlauf mit Farbprüfung für die Spalten A bis J.
Ich könnte hierbei natürlich jede einzelne Spalte von A bis J ansprechen, aber das scheint mir viel zu umständlich.

schon vorab vielen Dank
Gruß
Christoph

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Prüfen ob Hintergrundfarbe in VBA
02.09.2003 22:46:21
PeterW
Hallo Christoph

mal als Ansatz:

If Cells(i, 11) = 0 And Cells(i, 13) <> 0 Then
bolNichtCopy = false
For intcount = 1 To 10
If Cells(i, intcount).Interior.ColorIndex = Cells(i, 11).Interior.ColorIndex Then
bolNichtCopy = True
Exit For
End If
Next
End If

If Not (bolNichtCopy) Then
Cells(i, 13).Copy
Cells(i, 11).Select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
End If

Gruß
Peter
Anzeige
Das klingt gut
02.09.2003 23:05:26
Christoph
Hi Peter,
die Prüfung mit dem Bolean gefällt mir. Alleine wäre ich nie darauf gekommen. Zumal meine VBA-Kenntnisse noch viel Raum zur Entwicklung haben (sprich: in meiner Birne ist noch nicht viel von dem Thema drin...)
Vielen herzlichen Dank, ich werd mich morgen mit deinem vielversprechenden Ansatz beschäftigen.
Vielleicht kannst du mir ja noch ne Frage am Rande beantworten.
Wieso schreibt man die Variable bei "If Not (bolNichtCopy) Then" in Klammern?

ich hab die sehr zu danken
Gruß
Christoph


AW: Das klingt gut
02.09.2003 23:13:51
PeterW
Hallo Christoph,

die Klammern sind nicht nötig, hatte wohl gleichzeitig noch einen anderen Ansatz im Kopf. :-)
Der Ansatz ist nicht getestet und es funktioniert auch nur, wenn die Zellfarbe nicht durch eine bedingte Formatierung zugewiesen wurde.

Gruß
Peter
Anzeige
Merci o.T.
02.09.2003 23:23:03
Christoph
AW: Das klingt gut
02.09.2003 23:42:11
PeterW
Hallo Christoph,

da fällt mir gearde noch was auf: wenn in einer Zelle 0 steht ist sie nicht leer. Also die Prüfung auf leer mit Cells(Zeile, Spalte) = ""

Gruß
Peter

299 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige