Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1904to1908
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
Inhaltsverzeichnis

Mehre Zellen über vba einfärben

Mehre Zellen über vba einfärben
16.11.2022 18:38:21
Thorsten
Hallo, ich möchte wenn in der Zelle "a3" 1-3 steht dass die Zellen d3, d4, d5 grün werden. Wenn aber in "a3"
Z.B. 1-2 steht, sollten nur d3, d4 grün werden.
Also je nach Eintrag die entsprechende Anzahl an Zellen in Spalte D.
Jetzt kommt aber noch hinzu, dass in den Zellen "a4 bis a9" auch Bereiche angegeben werden können. Diese sollen dann wieder die Zellen in Spalte D in einer bestimmten Farbe einfärben.
Also A3 steht für grün, A4 steht für blau, usw.
Es könnte also sein, dass in a3 = 1-2 ; a4 = 3-7: a5=9; a6=10-15 usw. steht.
Als Ergebnis sollen dann die Zellen "d1.,d2" = grün, "d3, d4, d5, d6, d7" = blau, "d9" = gelb, usw. eingefärbt werden.
Ich hoffe ihr könnt euch vorstellen was ich meine.
Und mir sogar helfen 🤪

11
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Mehre Zellen über vba einfärben
16.11.2022 20:16:23
Daniel
HI
beispielsweise so.
die Farbe wird der Zelle in Spalte A entnommen.

dim Zelle as range
dim Start as long, dim Anzahl as long
for each Zelle in Range("A3:A9")
if Zelle.value  "" then
Start = Clng(split(Zelle.value, "-")(0)) - 1
if ZelleA.Value Like "*-*" then
Anzahl = Clng(Split(Zelle.Value, "-")(1))
else
Anzahl = 1
end if
Range("D3").Offset(Start - 1).Resize(Anzahl, 1).Interior.color = Zelle.Color
end if
next
Gruß Daniel
AW: Mehre Zellen über vba einfärben
17.11.2022 07:11:44
Thorsten
Vielen Dank für die schnelle Antwort, ich teste es gerade.
Leider wirft er mir bei:
Range("D3").Offset(Start - 1).Resize(Anzahl, 1).Interior.color = Zelle.Color
den Fehler aus: Objekt unterstützt diese Eigenschaft oder Methode nicht.
Gruß
Thorste
Anzeige
AW: Mehre Zellen über vba einfärben
17.11.2022 07:38:51
Daniel
Dann musst du mal mit Hilfe der Intellisense prüfen, ob alles richtig geschrieben ist
AW: Mehre Zellen über vba einfärben
17.11.2022 19:15:53
Thorsten
Ich habe mal mein kleines Projekt angefügt. Dort ist zu sehen, wie es am Ende sein soll.
Bislang muss ich die Farben manuell oben in den skizzierten switch anlegen.
Da wir aber so viele unterschiedliche Kombinationen der Portbelegung haben, ist es am Ende eine Arbeit die recht viel Zeit frisst. (und einige Kollegen bekommen auch einen mittelmäßigen Anfall)
Deswegen meine Frage ob so etwas automatisch überhaupt klappen kann.
Die Lösung von Gestern war schon cool, aber ich habe mich selbst wie immer überschätzt und bekomme es nicht adaptiert.
Einer meiner Kollegen hat somit schon mal die erste Wette gegen mich gewonnen.
https://www.herber.de/bbs/user/156240.xlsx
Ich hoffe ihr habt noch Ideen
Gruß Thorsten
Anzeige
AW: Mehre Zellen über vba einfärben
17.11.2022 19:51:20
Daniel
Hi
ja, kann man schon machen.
wenn du dir das Leben einfacher machen willst, verzichtest du soweit wie möglich auf verbundene Zellen, zumindest da, wo du die Farben definierst.
ansonsten bist du jetzt dran.
Wenn ich dir das vollständig programmieren soll, wäre das für mich mehr als kostenlose Nachbarschaftshilfe.
Gruß Daniel
obwohl, so wild ist es auch nicht
17.11.2022 20:14:10
Daniel
Probier mal das für deine Beispieldatei

Sub xxx()
Dim Zelle As Range
Dim T1, x As Long
Dim T As String
Dim FZelle As String
For Each Zelle In Range("AS28:AS39")
T = Zelle.Value
If T  "" Then
T = Replace(T, " ", "")
For Each T1 In Split(T, ";")
If T1 Like "*#-#*" Then
For x = CLng(Split(T1, "-")(0)) To CLng(Split(T1, "-")(1))
Call färben(x, Zelle.Offset(0, -10).MergeArea(1).Interior.Color)
Next
Else
Call färben(T1, Zelle.Offset(0, -10).MergeArea(1).Interior.Color)
End If
Next
End If
Next
End Sub
Sub färben(wert, farbe)
Dim Zelle As Range
Set Zelle = Range("12:20").Find(what:=wert, lookat:=xlWhole)
If Not Zelle Is Nothing Then
If Zelle.Row 
in der Eingabe kanns du einzelne Ports mit Semikolon getrennt eingeben und von-bis dann mit Bindestrich
da gehen auch mehrere, wenn die die gleiche Farbe bekommen sollen. Die G-Ports musst du auf jeden Fall mit Semikolons angeben, weil von-bis mit Texten nicht geht.
du könntest also auch sowas eingeben: 1-2;4;G3;15-20
gefärbt wird immer der Zellverbund der sich ober- oder unterhalb der gefundenen Zelle im Zellbereich befindet.
Gruß Daniel
Anzeige
AW: obwohl, so wild ist es auch nicht
17.11.2022 20:17:18
Thorsten
Hallo Daniel, heute komme ich nicht mehr dazu es zu testen. Ich werde mirgen im laufe des Tages mal sehen wie es klappt.
Ich danke dir schon mal für deine unglaublich schnelle Hilfestellung.
Gibt es hier auch die Möglichkeit von PN im Forum?
AW: obwohl, so wild ist es auch nicht
17.11.2022 20:50:43
Daniel
Nein, PN gibts hier nicht
AW: obwohl, so wild ist es auch nicht
18.11.2022 16:16:22
Thorsten
Hallo Daniel, das ist echt der Hammer. Du brauchtest nur wenige Minuten und es funktioniert alles extrem gut.
Da beneide ich ja alle die das können.
Ich möchte mich vielmals bei dir bedanken.
Gruß aus dem Westerwald
Thorsten
AW: Mehre Zellen über vba einfärben
17.11.2022 07:31:27
Thorsten
Okay, es fehlte nur bei = Zelle.INTERIOR.color
viiieeelen Dank für die schnelle Hilfe
Grüße
Thorsten
Anzeige
AW: Mehre Zellen über vba einfärben
17.11.2022 08:42:02
Thorsten
Ich hätte da aber noch mal eine Frage zur Weiterentwicklung die für eine schönere Optik sorgen soll.
Wenn die Zellen nicht d3 d4 d5 d6 usw. sein sollen, sondern :
d3 =1 ; d4=2 ; e3=3; e4=4; f3=5;f4=6 usw.
Ich hatte gehofft ich schaffe es selber aber naja.....
Gruß
Thorsten

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige