Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1532to1536
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

Zeilenhöhe bei verbundenen Zelle. zum 2.

Zeilenhöhe bei verbundenen Zelle. zum 2.
28.12.2016 21:49:18
Peter
Hallo zusammen
Ich habe am 9.12. von Daniel, in diesem Forum das unten stehende Scrip erhalten.
Ich war damals ein wenig voreilig mit meinem positiven Rückmeldung und habe mich erst jetzt richtig damit befasst.
4. Punkt "Zellenverbund wieder herstellen" funktioniert nicht, wie müsste der Code angepasst werden, damit der Zellenverbund wieder ausgeführt wird. Leider weiss ich nicht, wie ich Daniel direkt anschreiben könnte, um ihn zu Fragen, so versucht ich es auf diese Weise.
Natürlich ist auch jede andere Lösung willkommen.
Meine Frage und Antwort von Daniel vom 09.12.2016
--------------------------------------------------------------------
Ursprünglich Frage:
Hallo zusammen
Ich möchte in der Tabelle1 in Zelle B9, mit VBA, jeweils nach jedem Semikolon einen Zeilenumbruch erzeugen, das Semikolon mit einem möglichen Leerzeichen soll gelöscht werden.
Beispielsatz:
Ich möchte in der Tabelle1 in Zelle B9; jeweils nach jedem Semikolon; einen Zeilenumbruch erzeugen; und das Semikolon+Leerzeichen; soll gelöscht werden.
Ergebnis: mit Zeilenumbruch, Semikolon und mögliches Leerzeichen gelöscht:
Ich möchte in der Tabelle1 in Zelle B9
jeweils nach jedem Semikolon
einen Zeilenumbruch erzeugen
und das Semikolon+Leerzeichen
soll gelöscht werden.
Konnte im Netz nichts finden, wie müsste der Code aussehen?
Danke
Viele Grüsse,
Peter
--------------------------------------------------------------
HI
in Verbundzellen ist es nicht möglich, die Zeilenhöhe oder -breite automaisch ermitteln zu lassen.
du musst dann so vorgehen:
1. Zellverbund aufheben
2. Zeilenhöhe für Einzelzelle automatisch ermitteln
3. Diese Zeilenhöhe auf die Anzahl der Verbundzellen aufteilen
4. Zellverbund wieder herstellen.
funktioniert für dein Beispiel so, die Gesamthöhe wird gleichmäßig zwischen den Zeilen des Verbundes aufgeteilt:
Sub aa()
Dim Anzahl As Long
Dim Höhe As Double
With Range("B9")
Anzahl = .MergeArea.Rows.Count
.Value = Replace(.Value, ";", vbLf)
.Value = Replace(.Value, vbLf & " ", vbLf)
.MergeCells = False
.EntireRow.AutoFit
Höhe = .RowHeight / Anzahl
With .Resize(Anzahl)
.EntireRow.RowHeight = Höhe
.MergeCells = True
End With
End With
End Sub

Gruß Daniel
------------------------------------------------------------------------
Danke
Viele Grüsse
Peter

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zeilenhöhe bei verbundenen Zelle. zum 2.
29.12.2016 00:07:29
Daniel
Wenn du soviel Zeit hast, kann ich mich ja auch ein bisschen später damit befassen.
Gruß Daniel
AW: Zeilenhöhe bei verbundenen Zelle. zum 2.
29.12.2016 16:18:42
Peter
Hallo Daniel
Danke dass Du mir antwortest, sehr nett von Dir. Ja, Du hast natürlich recht, wenn ich eine Frage ins Forum stelle, dann soll ich mich auch zeitnah damit befassen. Jedoch kam noch einiges unvorhergesehenes rein und ich musste mich zuerst darum kümmern. Jetzt, in meinen "Ferien" habe ich dafür Zeit, dabei handelt es ich um eine neben Funktion, die ich jetzt bearbeite, das Projekt muss ich 1-2 Wochen präsentieren.
Es würde mich natürlich sehr freuen, wenn Du mir nochmals unter Die Arme greifen könntest.
Das Problem ist, dass am Ende der Prozedur ".MergeCells = True" nicht aufgeführt wird.
Danke
Viele Grüsse
Peter
Anzeige
AW: Zeilenhöhe bei verbundenen Zelle. zum 2.
29.12.2016 17:30:53
Daniel
HI
naja, wann du was fertig haben musst, ist mir eigentlich egal.
soweit ich weiß, hatte ich den Code mit deiner Beispieldatei getestet und da hat er funktioniert.
da ich die Datei und den Code, mit der du es jetzt probiert hast, nicht kenne, kann ich dir auch nicht weiterhelfen.
Gruß Daniel
AW: Zeilenhöhe bei verbundenen Zelle. zum 2.
30.12.2016 10:27:51
Peter
Hallo Daniel
Ah ok, ich frage mich nur, warum Du mir antwortest, wenn du doch kein Interesse hast?
Ich habe deinen Code auf einem "blanken" Excel getestet und am Ende werden die Zellen nicht wieder verbunden.
Wie dem auch sein, du hast mir, mit deinem Script sehr geholfen, ich konnte damit eine Lösung erstellen die zwar nicht so elegant ist, aber funktioniert und dafür mein grosses Dankeschön.
Ich wünsche dir noch einen guten Rutsch ins neue Jahr.
Viele Grüsse,
Peter
Anzeige
AW: Zeilenhöhe bei verbundenen Zelle. zum 2.
30.12.2016 12:38:51
Daniel
Hallo Peter
nun ich habe meinen Code getestest (auch mit einer blanken Datei) und die Zellen werden wieder miteinander verbunden.
von daher kann ich dir nicht weiter helfen, weil bei deinem Test irgendetwas anderes gewesen sein muss als bei meinem, und solange ich nicht weiß, was das ist, kann ich auch nichts tun.
zeige mir doch bitte mal deine Testdatei, in der es nicht funktioniert hat.
Hir meine Testdatei, die Zellen werden am schluß wieder verbunden.
https://www.herber.de/bbs/user/110261.xlsm
Gruß Daniel
Anzeige
AW: Zeilenhöhe mit horizontalem Zellenverbund
30.12.2016 14:32:41
Peter
Hallo Daniel
Danke für Deine Antwort, jetzt habe ich das Problem gefunden, dein Code funktioniert bestens, jedoch wenn der Zellenverbund nach unten, vertikal in der Spalte, z.B. B9:B11 vorhanden ist (das hatte ich gar nicht getestet).
Ich benötige jedoch den Zellenverbund horizontal, auf der Zeile z.B. B9:D9, dann werden die Zellen am Ende nicht verbunden. Das hatte ich offensichtlich nicht klar beschrieben (Text in der Zelle mit mehreren Zeilen, AutoFit funktioniert nicht).
Kannst Du den Code so anpassen, dass es auch mit horizontalem Zellenverbund funktioniert?
Code mit vertikalem Zellenverbund -> gesucht Lösung mit horizontalem Zellenverbund:
Sub aa()
Dim Anzahl As Long
Dim Höhe As Double
With Range("B9")
Anzahl = .MergeArea.Rows.Count
.Value = Replace(.Value, ";", vbLf)
.Value = Replace(.Value, vbLf & " ", vbLf)
.MergeCells = False
.EntireRow.AutoFit
Höhe = .RowHeight / Anzahl
With .Resize(Anzahl)
.EntireRow.RowHeight = Höhe
.MergeCells = True
End With
End With
End Sub
Danke
Viele Grüsse,
Peter
Anzeige
AW: Zeilenhöhe mit horizontalem Zellenverbund
30.12.2016 15:11:46
Daniel
Hi
naja, diese Info hättest du gleich geben sollen, dann hätte ich jetzt nicht doppelt für dich arbeiten müssen.

Sub aa()
Dim Anzahl As Long
Dim BreiteAlt
Dim Breite As Double
Dim Höhe As Double
Dim Zelle As Range
With Range("B9").MergeArea
Anzahl = .Columns.Count
For Each Zelle In .Cells
Breite = Breite + .EntireColumn.ColumnWidth
Next
.MergeCells = False
With .Cells(1, 1)
BreiteAlt = .ColumnWidth
.EntireColumn.ColumnWidth = Breite
.EntireRow.AutoFit
.Cells(1, 1).ColumnWidth = BreiteAlt
Höhe = .RowHeight
End With
.MergeCells = True
.EntireRow.RowHeight = Höhe
End With
End Sub
Gruß Daniel
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige