Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Zellen verbinden - geteilte Farbe?

Zellen verbinden - geteilte Farbe?
07.06.2017 17:15:36
Steve
Grüß Gott an alle die Tolles hier leisten.
Habe eine weitere Frage:
https://www.herber.de/bbs/user/114107.xls
Bei hier eingestellter Datei, sollen immer die Zellen 1 mit der Zelle 2 zu einer Zelle verbunden werden.
Der Eintrag in der linken Zelle wird und soll auch zentriert werden.
Hahahahaha kein Problem..............
aber jetzt kommt es:
Die verbundene Zelle soll farblich geteilt sein. Jede Hälfte soll ihre ursprüngliche Farbe beibehalten.
Also links leicht blau und rechts leicht orange.
Geht so was?..........natürlich brauche ich das in VBA.
mfg und Danke STeve
Anzeige

14
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zellen verbinden - geteilte Farbe?
07.06.2017 17:19:57
mmat
Sorry, eine Zelle kann nur eine Hintergrundfarbe haben.
Möglich wäre vielleicht, die Schriftfarbe anzupassen, aber wie das unter VBA geht weiss ich leider auch nicht.
vg, MM
AW: Zellen verbinden - geteilte Farbe?
07.06.2017 17:22:41
Werner
Hallo Steve,
die beiden Zellen markieren - rechte Maustaste - Zellen formatieren - Ausrichtung - Horizontal - Über Auswahl zentrieren
Gruß Werner
Anzeige
AW: Zellen verbinden - geteilte Farbe?
07.06.2017 17:36:18
Steve
Hallo MM und Werner.
Danke für eure Antwort.
1.) MM: Die Schriftfarbe sollte beibehalten werden.....aber danke
2.) Werner: ...das schaut schon mal gut aus. Danke. Habe per Makroaufzeichnung deinen Gang verfolgt und könnte es in ein Sub einbauen.
Vielleicht hat jemand die Lösung mit doch verbundener Zelle?
In der Hoffnung verbleibe ich mfg
STeve
Anzeige
Siehe unten von Uwe! Oder, falls es scharf ...
07.06.2017 18:08:42
Uwe!
…getrennt sein soll, Steve,
geht das für Zellen (im Ggsatz zu ZeichenObjekten - war man wohl bei MS bis Xl14/2010 zu „faul“) nur per VBA. Was möglich wäre, siehst du hier:
Userbild
Das geht natürlich auch mit horizontal verbundenen Zellen. Hebt man den Verbund wieder auf, haben beide Zellen dieses Format — der Beweis dafür, dass VerbundZellen nur ein Format haben können (aber mehrere Werte, ggf in jeder Zelle einen). In LO/OO wird übrigens der alte Zustand gemerkt und bei Aufheben des Verbunds wiederhergestellt…
Feedback nicht unerwünscht! Gruß, Luc :-?
Besser informiert mit …
Anzeige
AW: Zellen verbinden - geteilte Farbe?
07.06.2017 17:29:57
UweD
Hallo
so?
Userbild
LG UweD
DANKE an Werner und UweD
07.06.2017 17:50:52
Steve
Dankeschön.
1.) Werner: Kann mich nur wiederholen. Klasse Tipp. Danke für die Datei
2.) UweD: ....Zellen verbunden - Klasse ....und mit Farbverlauf.DANKE für den Tipp.
Ob ich das in VBA-Code mit den in der Ausgangslage vorhandenen Farben hinbringe da bin ich überfragt.
Es scheint also - verbunden und scharf mittig abgetrennt ist nicht möglich?
mfg STeve
Anzeige
Doch, aber nur mit VBA (s.oben)! owT
07.06.2017 18:13:57
Luc:-?
:-?
AW: Doch, aber nur mit VBA (s.oben)! owT
07.06.2017 19:38:36
Steve
Hallo Luc:-?
Danke für deine Erklärung.
Du zeigst was möglich ist....so wie die Malta Fahne (rechts oben - aber nur für eine Zeile und zwei Zellen) das wäre schon das richtige.
Aber wie geht der Code in VBA?
Zitiere dich: In LO/OO wird übrigens der alte Zustand gemerkt ........LO/OO ? sagt mir nix.
Danke dir und mfg
STeve
Anzeige
Das ist andere Kalkulationssoftware, ...
07.06.2017 23:49:54
Luc:-?
…STeve,
sozusagen Xl-Konkurrenz, LO/OOcalc (LibreOffice/OpenOffice).
Der PgmCode für dieses Problem kann so aussehen:
Rem 2 Zellen verbinden u.HGFarben als FarbVerlaufsGradientFarbStops verwenden
'   und ggf wieder trennen u.die 1.u.letzte GradientFarbe als HGFarbe setzen.
'   Hinweis: Mittlere FarbStopPositionen (colStPos) testen --> dunkel 
Sub Verbinden()
Const colStDgr As Integer = 0
Dim csx As Integer, frb(1) As Long, colStPos, vZ As Range
Set vZ = ActiveWindow.RangeSelection
colStPos = Array(0#, 0.4999, 0.5, 1#)
If vZ.Cells.Count = 2 Then
frb(0) = vZ.Cells(1).Interior.Color
frb(1) = vZ.Cells(2).Interior.Color
vZ.Merge
With vZ.Interior
.Pattern = xlPatternLinearGradient: .Gradient.Degree = colStDgr
.Gradient.ColorStops.Clear
For csx = 0 To UBound(colStPos)
With .Gradient.ColorStops.Add(colStPos(csx))
.Color = frb(csx \ 2)
End With
Next csx
End With
End If
End Sub
Sub Trennen()
Const colStDgr As Integer = 0
Dim csx As Integer, frb(1) As Long, vZ As Range, colSt As ColorStops
Set vZ = ActiveWindow.RangeSelection
If vZ.MergeCells And vZ.Cells.Count = 2 Then
With vZ.Interior
If .Pattern = xlPatternLinearGradient And .Gradient.Degree = colStDgr Then
Set colSt = .Gradient.ColorStops
frb(0) = colSt(1).Color: frb(1) = colSt(colSt.Count).Color
.Gradient.ColorStops.Clear: .Pattern = xlSolid: vZ.UnMerge
Else: Exit Sub
End If
End With
vZ.Cells(1).Interior.Color = frb(0)
vZ.Cells(2).Interior.Color = frb(1)
End If
End Sub
Für horizontale FarbTrennung muss die Konstante colStDgr auf 90 gesetzt wdn, schräg dazwischen bzw danach (<180).
Viel Erfolg! Luc :-?
Anzeige
Luc :-? - DANKE - Gewaltig
08.06.2017 08:28:46
STeve
A Wahnsinn..........genau das Richtige. Danke Luc :-?
Immer wieder erstaunlich.Wie man sowas programmieren kann. Werde mich Schritt für Schritt versuchen einzulesen in den Code. Wird sicher Tage dauern.:-O
Wünsch dir noch einen tollen Tag
lg STeve
Danke, dito... ;-) owT
08.06.2017 18:21:58
Luc:-?
:-?
AW: Das ist andere Kalkulationssoftware, ...
08.06.2017 13:13:48
KlausF
Hi Luc,
schöne Arbeit !
Gruß
Klaus
Anzeige
Danke; ich hatte mich vor 2 Jahren mal damit ...
08.06.2017 15:35:22
Luc:-?
…etwas intensiver befasst, Klaus,
bin aber nie ganz fertig geworden, weil dann anderes anstand. Hatte's dieses Jahr aber bei einem Projekt wieder aus der Versenkung geholt.
Problem dabei ist natürlich, dass das eigentlich Verlaufsfarben erzeugen soll und dieser Effekt sich folglich nicht ganz unterdrücken lässt. Wie gut der zu sehen ist, hängt auch von der Größe des Objekts ab. Ggf könnte man auch eine Kontrastfarbe wie bspw Schwarz zwischen die beiden Farben setzen, um eine größere Schärfe zu erreichen; das muss man halt ausprobieren.
Bei ZeichenObjekten wird dgl von Xl auch manuell angeboten. Daran könnte man sich ggf orientieren, auch an den dortigen Fer­tig­Mustern.
Man kann das dann auch in HTML darstellen, muss aber beachten, dass es verschiedene Methoden gibt, die Browser verwenden, und deshalb auch mehrere Angabeformen erforderlich sind. Als ich das das letzte Mal (vor ca 3-4 Jahren) gemacht habe, war's jedenfalls noch so.
Gruß, Luc :-?
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige
Anzeige

Infobox / Tutorial

Zellen verbinden und farblich teilen in Excel


Schritt-für-Schritt-Anleitung

  1. Zellen auswählen: Markiere die beiden Zellen, die du verbinden möchtest.

  2. Zellen verbinden: Klicke mit der rechten Maustaste auf die markierten Zellen und wähle „Zellen formatieren“ aus dem Kontextmenü. Unter der Registerkarte „Ausrichtung“ wählst du „Über Auswahl zentrieren“ aus.

  3. VBA-Code einfügen: Um einen Farbverlauf über die verbundenen Zellen zu erstellen, benötigst du VBA. Öffne den VBA-Editor mit ALT + F11 und füge den folgenden Code ein:

    Sub Verbinden()
       Dim frb(1) As Long
       Dim vZ As Range
       Set vZ = Selection
    
       If vZ.Cells.Count = 2 Then
           frb(0) = vZ.Cells(1).Interior.Color
           frb(1) = vZ.Cells(2).Interior.Color
           vZ.Merge
           With vZ.Interior
               .Pattern = xlPatternLinearGradient
               .Gradient.ColorStops.Clear
               .Gradient.ColorStops.Add(0).Color = frb(0)
               .Gradient.ColorStops.Add(1).Color = frb(1)
           End With
       End If
    End Sub
  4. Farbverlauf anwenden: Führe das Makro aus, um den Farbverlauf über die verbundenen Zellen anzuwenden.


Häufige Fehler und Lösungen

  • Zellen verbinden nicht möglich: Stelle sicher, dass die Zellen, die du verbinden möchtest, leer sind. Wenn Zellen Daten enthalten, ist das Verbinden nicht möglich.
  • Excel verbinden und zentrieren ausgegraut: Wenn diese Option ausgegraut ist, kann das daran liegen, dass die Zellen, die du verbinden möchtest, nicht benachbart sind. Überprüfe die Zellenauswahl.
  • Excel Tabelle Zellen verbinden nicht möglich: Achte darauf, dass du in einer normalen Arbeitsmappe arbeitest. In bestimmten Excel-Tabellenformaten ist das Verbinden von Zellen nicht erlaubt.

Alternative Methoden

  • Text über mehrere Zellen ohne Verbindung: Wenn du Text über mehrere Zellen anzeigen möchtest, ohne diese zu verbinden, kannst du die Funktion „Zellen formatieren“ nutzen und die Option „Textumbruch“ aktivieren.
  • Zellen farblich teilen: Anstatt Zellen zu verbinden, kannst du die Zellen nebeneinander lassen und jeweils die Hintergrundfarbe anpassen. So kannst du beispielsweise eine Zelle zur Hälfte einfärben, indem du die Zellen prozentual einfärbst und den Text in die Mitte positionierst.

Praktische Beispiele

  1. Zwei Zellen verbinden und Farben beibehalten: Nutze den oben genannten VBA-Code, um eine Zelle zu erstellen, die einen Farbverlauf zwischen zwei Farben anzeigt.
  2. Excel Farbverlauf in Zelle: Du kannst den Farbverlauf auch auf eine einzelne Zelle anwenden, indem du den gleichen VBA-Code anpasst, um nur eine Zelle auszuwählen.

Tipps für Profis

  • Shortcut für Zellen verbinden: Verwende ALT + H + M + M, um schnell Zellen zu verbinden.
  • Zellen verbinden und Text behalten: Wenn du zwei Zellen verbindest und den Text beibehalten möchtest, musst du sicherstellen, dass der Text aus beiden Zellen in die verbundene Zelle kopiert wird, bevor du die Zellen verbindest.
  • Farbverlauf mehrere Zellen: Mit etwas VBA-Kenntnissen kannst du einen Farbverlauf über mehrere Zellen hinweg erstellen, indem du die Start- und Endfarben definierst.

FAQ: Häufige Fragen

1. Kann ich eine Zelle in zwei Farben teilen?
Ja, das geht nur über VBA, indem du einen Farbverlauf anwendest, wie im obigen Tutorial beschrieben.

2. Warum kann ich keine Zellen verbinden?
Das Verbinden von Zellen ist nicht möglich, wenn die Zellen Daten enthalten oder wenn sie nicht benachbart sind. Überprüfe, ob die Zellen leer sind und direkt nebeneinander liegen.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige