ich versuche momentan ein Makro zu entwickeln mit dem ich Zellen in einem Bereich einfärben kann wenn der Wert der korrelierenden Zelle im anderen Bereich kleiner als 1 ist. Die Bereiche liegen auf verschiedenen Tabellenblättern. (Intensities und p-values)
Ich habe in zwei kleinen Makros die Bereiche bereits definiert:
Sub SheetIntensitiesBereichDefinieren()
Dim di As Range ’ data intensities
Dim dpv As Range ’ data p values
Nun möchte ich, dass die Zellen im Tabellenblatt „p-values“ eingefärbt werden wenn die entsprechende Zelle im Tabellenblatt „Intensities“ einen Wert kleiner als 1 aufweist.
Ich hoffe ich habe es einigermaßen verständlich ausgedrückt
ich versuche momentan ein Makro zu entwickeln mit dem ich
Zellen in einem Bereich einfärben kann wenn der Wert der
korrelierenden Zelle im anderen Bereich kleiner als 1 ist. Die
Bereiche liegen auf verschiedenen Tabellenblättern.
(Intensities und p-values)
Ich habe in zwei kleinen Makros die Bereiche bereits
definiert:
Hallo Micha,
mal erstmal nur zu deinen Makros.
Angenommen du hast einen benutzten Bereich von A1:X100
Wenn ich deinen Code richtig deute soll dann für den Bereich D2:W100 ein Name vergeben werden.
Im anderen Blatt dann genau so.
Ist das richtig so?
Wenn ja, wofür brauchst du diese Bereichsnamen?
Für deine Anfrage wegen des Färbens m.E. nicht.
mal erstmal nur zu deinen Makros.
Angenommen du hast einen benutzten Bereich von A1:X100:
Wenn ich deinen Code richtig deute soll dann für den Bereich
D2:W100 ein Name vergeben werden.
Im anderen Blatt dann genau so.
Ist das richtig so?
Richtig - der Datenbereich ist variabel in der Größe. Er startet bei D2 und geht bis letzten Zelle der vorletzten Spalte.
Wenn ja, wofür brauchst du diese Bereichsnamen?
Für deine Anfrage wegen des Färbens m.E. nicht.
Ich hatte die Bereichsnamen angedacht um den Zugriff auf den Datenbereich zu vereinfachen. Wenn die erste Zelle des Datenbereiches A einen Wert von >0,1 aufweist dann soll im Datenbereich B die entsprechende Zelle rot eingefärbt werden.
Sub tt()
Dim wksI As Worksheet, wksP As Worksheet, Zei As Long, Spa As Long
Set wksI = Worksheets("intensities")
Set wksP = Worksheets("p-values")
With wksP
.UsedRange.Interior.ColorIndex = xlNone
For Zei = 2 To wksI.Cells(Rows.Count, "D").End(xlUp).Row
For Spa = 4 To wksI.Cells.SpecialCells(xlCellTypeLastCell).Column - 1
If .Cells(Zei, Spa).Value \> 1 Then wksP.Cells(Zei, Spa).Interior.ColorIndex = 3
Next Spa
Next Zei
End With
End Sub