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

Horizontal Zellen verbinen (über Datums-Range)

Horizontal Zellen verbinen (über Datums-Range)
09.10.2018 13:18:06
Richi
Grüezi Zäme
Habe horizontal einen Datumsrange (jeder Tag) aufgestellt ab Zelle B5. Ab Zelle B4 habe ich die Monate, mittels Formel in jeder Zelle, hinterleg. Nun möchte ich über ein VBA den ZellenRange jedes Monates (horizontal) mit den Zellen verbinden bis zum ende des letzten Monats. Dat die Monate unterschiedlich lang sind finde ich keine Lösung. Kann jemand von euch helfen?
Liebe Gruess
Richi

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

Betreff
Datum
Anwender
Anzeige
Horizontal Zellen verbinden
09.10.2018 13:32:00
Rudi
Hallo,
als Anregung
Sub aaa()
Dim lCol As Long, i As Integer, d As Date
lCol = 2
Do While Cells(5, lCol)  ""
d = Cells(5, lCol)
i = Day(DateSerial(Year(d), Month(d) + 1, 0))
Cells(4, lCol).Resize(, i).Merge
lCol = lCol + i
Loop
End Sub

Gruß
Rudi
AW: Horizontal Zellen verbinden
09.10.2018 15:13:07
Richi
Besten Dank für die Infos. Habe das Problem mit Conditional Format gelöst
AW: Horizontal Zellen verbinen (über Datums-Ran)
09.10.2018 13:33:00
Daniel
Hi
das würde ich über Bedingte Formatierung machen und z.B. einen vertikale Rahmenlinie einfügen, wenn ein Monatswechsel stattfindet:
z.B. mit dieser Formel als Regel:
=Monat(B5)Monat(C5) 

und einen rechten Rahmen.
auch den Monatsnamen würde ich per Formel darstellen.
da du in jeder Zelle eine Formel brauchst, kann ein Monatsname nicht über den Rand der Zelle hinaus geschrieben werden. Daher schreibst du immer nur einen Buchstaben in eine Zelle (da die Zellen recht schmal sind, sollte das noch brauchbar aussehen):
dh diese Formel in B4:

=TEIL(TEXT(B5;"MMMM");TAG(B5);1)

damit wird der Monatsname immer ab dem 1. des Monats in die Zellen geschrieben.
hat den Vorteil, dass sich das automatisch anpasst, wenn du das Datum in B5 änderst.
Gruß Daniel
Anzeige
Nette Idee!
09.10.2018 14:23:34
lupo1
... auch wenn sie mit 366 Formeln etwas aufwändig erscheint.
Meine Lösung, einfach am Anfang einer KW den Monat zurückzugeben (mit 6 folgenden leeren Zellen vor Wdh. der Formel), ist da auch nicht besser.
Bliebe tatsächlich VBA, welches die Überschriften bei Änderung des 1.1 entsprechend arrangiert.
Oder man macht es statisch und begnügt sich mit dem harten Reinschreiben im Normaljahresabstand zum Monatsdritten oder -vierten, so dass ein Schaltjahr optisch nicht so viel Unheil anrichtet.
was sind schon 366 Formeln
09.10.2018 14:42:24
Daniel
der Mehraufwand ist für Excel pillepalle.
u.U ist der Aufwand für Excel sogar geringer, weil alle Zellen der Zeile die gleiche Formatierung und den gleichen Inhalt/Formel haben.
der Vorteil ist, dass ich so den ganzen Kalenderkopf (wenns sein muss auch mit KW) allein über Formeln und Bedingter Formatierung darstellen kann, welche sich volltautomatisch anpasst, wenn man das Startdatum ändert.
(idealerweise noch mit unterschiedlicher Farbe für gerade und ungerade Monate, was den Monatswechsel noch deutlicher macht als eine Rahmenlinie)
Gruß Daniel
Anzeige
"pillepalle" ist relativ für Tabellenästheten ...
10.10.2018 09:06:00
lupo1
Für .xlsx gilt:
Geschlossene Datei:
- aufeinanderfolgende gleiche Formeln werden nur einmal gespeichert (plus Overhead)
- deren Werte werden einzeln gespeichert
- insgesamt wird dann noch komprimiert, da .xlsx ein .ZIP-Format ist
- Um Größenordnungen kleiner sind "Konstruktionsmakros", wenn nicht zu viele Konstanten im Spiel sind
Geöffnete Datei (Verwendung des RAM), maximale Schnelligkeit, keine Kompressionen:
- gleiche Formeln werden (vermutlich) - jede einzeln - verwaltet; also aufgeblähter RAM-Bedarf
- deren Werte werden einzeln gespeichert
- komprimiert wird nicht
.xls:
- wie "Geöffnete Datei" auch bei geschlossener Datei (mit leichten Abweichungen).
_________________________________________________________________________________
Was bedeutet das für unseren Thread? 366 x 15 Byte allein für Werte sind schon gut 5 KB. Das ist zwar nicht die Hölle, aber in vielen Fällen werden auch mehr solcher Daten permanent mitgeschleppt.
_________________________________________________________________________________
Hier noch eine Lösung für neue Excels:
=TEXTVERKETTEN(WIEDERHOLEN("_";99);;INDEX(TEXT(ZEILE($1:$12)*29;"MMMM");))
Die 99 ist individuell an die Spaltenbreite anzupassen, und insgesamt sollte man nicht zu pingelig sein, dass der Monatstext hierbei nicht links vor dem 1. des Monats anschlägt, sondern nur ungefähr kurz nach dem Monatsbeginn steht.
Mit einem " " statt "_" könnte die Formelergebnis-Rückgabe zu viele Zeichen erfordern, um alle Monate zurückzugeben. Daher selbst testen.
Puristen passen dies hier für sich an:
=TEXTVERKETTEN(WIEDERHOLEN("_";{80;70;80;70;80;90;80;70;80;90;80;70});;INDEX(TEXT(ZEILE($1:$13)*29; "MMMM");))
Und um auch noch das Schaltjahr zu erschlagen, ginge
=TEXTVERKETTEN(WIEDERHOLEN("_";INDEX($X$1:$X$13;));;INDEX(TEXT(ZEILE($1:$13)*29;"MMMM");))
mit X1:X13: selbstermittelte Abstände, mit Februars Schaltjahresberücksichtigung.
Anzeige
und für Tabellenpraktiker könnte entscheidend
10.10.2018 09:48:14
Daniel
sein:
- in allen Zellen der Zeile stehen die gleichen, Formeln, dh der Kalender kann durch einfaches Markieren und Ziehen erweitert werden.
- automatisches anpassen des Kalenders an ein beliebiges Startdatum
- keine Verwendung von VBA oder sonstige Excelkomponenten, die dem Expertenwissen zugeordnet werden.
(ist z.B. dann relevant, wenn die Pflege des Kalenders an einen anderen Mitarbeiter übergeben werden muss)
- den Hauptanteil des Datenbedarfs dürften wohl die Daten ausmachen, die sich unterhalb der Kalenderkopfzeilen befinden.
Gruß Daniel
Ich gebe Dir recht.
10.10.2018 10:21:25
lupo1
Ich wollte nur mein TEXTVERKETTEN noch unterbringen.
Anzeige
was natürlich extrem hilfreich
10.10.2018 10:41:35
Daniel
bei der genannten Excelversion ist.
Gruß Daniel
Jeder hat TEXTVERKETTEN, ...
10.10.2018 11:48:20
lupo1
... da Excel-Online für jeden mit einem Live-Account kostenlos erreichbar ist:
https://office.live.com/start/Excel.aspx
Für jeden mit GMail (das dürften 95% aller Androiden haben, also 60% aller Smartphonisten, die wiederum bestimmt 80% aller nicht durch Alter, Krankheit oder sonst beeinträchtigten Erwachsenen ausmachen) gibt's kostenlos Docs mit TEXTJOIN. GMail selbst ist natürlich auch kostenlos, so dass die %-Zahlen unwichtig sind: Jeder kann, wenn er will. ("Sie sind ja ordinär").
Wer es offline möchte, nimmt kostenlos LO.
Also: TEXTVERKETTEN darf ruhigen Gewissens beworben werden.
Anzeige
AW: Jeder hat TEXTVERKETTEN, ...
10.10.2018 12:17:16
Daniel
LO?
kenn ich nicht hab ich nicht.
der Fragesteller hat Excel 2010
ach, befeuchte doch meinen Arbeitsstuhl :-)
10.10.2018 12:54:16
lupo1
... seit wann interessiert mich der Fragensteller?
Ich interessiere mich doch nur für mich.
Sorry, ich vergaß
10.10.2018 13:11:52
Daniel
hätte ich besser wissen müssen.
Soll pro Monat tatsächlich ein horizontaler ...
09.10.2018 13:44:39
Luc:-?
…ZellVerbund erzeugt wdn, Richi?
Falls deine Beschreibung exakt ist, würde das heißen, in deiner Tabelle steht bspw in Zelle B4:AF4 Januar aus dem Datum der Monatstage in B5:BF5 erzeugt. Wenn das nur der besseren optischen Gestaltung dienen soll, würde für Zeile 4 ja nur 1× der Monatsname in der jeweils 1.Zelle ausreichen, um den dann per über Auswahl zentrieren auf den gesamten ZeilenBereich des Monats auszudehnen.
Etwas Anderes wäre es, wenn das Ganze senkrecht angeordnet wäre. Dann müssten Zellen einer Spalte, also vertikal verbunden wdn — ein klassisches ListenProblem, für das es keine andere exakte Zentrierungs­möglichkeit als den ZellVerbund gäbe (wofür es auch ein Pgm gibt).
Falls aber ganz Anderes gemeint ist, wäre eine BspDatei hilfreich.
Gruß, Luc :-?
„Die Intelligenzmenge ist auf diesem Planeten eine Konstante, die Bevölkerung nimmt aber zu!“ Auch deshalb informieren mit …
Anzeige

311 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige