Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
Anzeige
Archiv - Navigation
844to848
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
844to848
844to848
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Problem(e) bei optimaler Zeilenhöhe mit Verbundzel

Problem(e) bei optimaler Zeilenhöhe mit Verbundzel
07.02.2007 21:46:37
Thomas
Hallo,
mit dem beigefügten Code, lasse ich in meiner Excel-Mappe bei Verbundzellen automatisch die optimale Zeilenhöhe einstellen.
Leider gibt es bei der Ausführung von diesem Code ein paar Probleme:
- Wenn in die Verbundzelle ein Wert geschrieben wird und danach versucht wird
die Funktion "Rückgängig" (über Bearbeiten --> Rückgängig") zu benutzen, ist
diese Funktion nicht möglich. D. h. in den Verbundzellen kann ich z. Z.
nichts rückgängig machen.
- Wenn der User sein letztes Wort in die Verbundzelle geschrieben hat und geht durch
die Returntaste aus der Verbundzelle heraus, wird diese Verbundzelle unten automatisch
größer als sie sein müsste.
- Wenn in der Verbundzelle ein Zeilenumbruch erzeugt wird, wird beim Drucken das Symbol
(kleines Quadrat) mit ausgedruckt.
Für Hilfe sage ich schon vorab vielen Dank!
Gruß,
Thomas
-----

Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
Dim IstBreite As Double, GesamtBreite As Double, r As Range, MaxHoehe As Double, MergedCells As Range, rMC As Range
On Error Resume Next
If (Target.MergeCells And Target.WrapText) Or _
(Not (Target.MergeCells) And Target.WrapText And IsNull(Target.EntireRow.MergeCells)) Then
Application.ScreenUpdating = False
Target.EntireRow.AutoFit
MaxHoehe = Target.RowHeight
For Each r In Target.EntireRow.Cells
If (r.MergeCells) Then
Set MergedCells = r.MergeArea
If (MergedCells.Columns.Count > 1) And (r.Address = MergedCells.Cells(1, 1).Address) Then
IstBreite = r.ColumnWidth
GesamtBreite = 0
MergedCells.MergeCells = False
For Each rMC In MergedCells
If (rMC.Row = r.Row) Then GesamtBreite = GesamtBreite + rMC.ColumnWidth
Next
r.ColumnWidth = GesamtBreite
r.Rows.AutoFit
MaxHoehe = WorksheetFunction.Max(r.RowHeight, MaxHoehe)
r.ColumnWidth = IstBreite
MergedCells.Merge
End If
Set MergedCells = Nothing
End If
Next
Target.RowHeight = MaxHoehe
Application.ScreenUpdating = True
End If
End Sub

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Problem(e) bei optimaler Zeilenhöhe mit Verbundzel
07.02.2007 22:19:14
Hubert
Hi,
verbundene Zellen sind nicht nötig, machen mehr Probleme, als sie Nutzen
bringen, sollten verboten werden.
mfg Hubert
AW: Problem(e) bei optimaler Zeilenhöhe mit Verbun
07.02.2007 23:38:52
fcs
Hallo Thomas,
Huberts Kommentar kann ich nur zustimmen. Verbundene Zellen möglichst vermeiden! Wird der Text in den verbundenen Zellen zentriert, dann gibt es auch noch die Formatierung (horizontal) "Zentriert über Spalten" als bessere Alternative. Hierbei bleiben die einzelnen Zellen erhalten.
Zu deinen Problemen:
- 1. Undo-Funktion
Mit jeder Makro-Ausführung wird die Undo-Funktion zurückgesetzt, ähnlich wie beim Speichern einer Excel-Datei. Nichts zu machen, ist in Excel so.
- 2. Leerzeile nach Enter
Hier machen sich kleine Ungenauigkeiten bemerkbar bei der Methode wie Excel die benötigten Zeilen aus Zeichenzahl, Font und Fontgröße ermittelt, wenn die Spaltenbreite für den Eingabetext fast ausgenutzt wird.
- 3. Kästchen im Druck für Zeilenwechsel in Zelle
Konnte ich unter Excel 97 nicht nachvollziehen.
Gruss
Franz
Anzeige
AW: Problem(e) bei optimaler Zeilenhöhe mit Verbun
08.02.2007 02:36:27
Thomas
Hallo,
danke für die schnellen Antworten!
@Hubert
Grundsätzlich bin ich auch Deiner Meinung, dass Verbundzellen leider nur ärger bringen, aber in diesem Fall habe ich keine andere Möglichkeit.
@Franz
Gibt es denn evtl. eine andere Möglichkeit die optimale Zeilenbreite bei Verbundzellen zu gewährleisten, so dass meine oben beschriebenen Probleme nicht auftreten?
Viele Grüße,
Thomas
Ich kenne auch keine anderen Möglichkeiten...
08.02.2007 04:02:39
Luc:-?
...Thomas!
Ich bin umgekehrt vorgegangen und habe eine udFkt geschrieben, die in in Zellen dargestellte Texte in Abhängigkeit von (Gesamt-)Spaltenbreite (meinst du wohl mit "Zeilenbreite") bzw maxZeilenlänge in Zeichen mit Umrechnungsfaktoren in Abhängigkeit von der Zahl der Buchstaben mit größerer/kleinerer Breite Zeilenumbrüche (deine kleinen Quadrate → allgem Darstellung nichtdruckbarer Zeichen) an sinnvoller Stelle in den Text einfügt. Bei Zahlen ist das normalerweise weniger zu empfehlen. Vor Jahren habe ich auch mal eine Prozedur geschrieben, die Worte in Vorspaltentexten in Abhängigkeit von der Spaltenbreite einigermaßen sinnvoll automatisch kürzt (das nur als Anregung). Damit die Zeilenumbrüche wirksam wdn, musst du natürlich Zeilenumbruch im Zellformat aktivieren. Wenn das keine Wirkung hat, sind die "kleinen Quadrate" keine ZUmbrüche, sondern irgendwas anderes (mal mit CODE("...") überprüfen!).
Zur Problematik der Undo-Fkt vgl mal John Walkenbach. Da findest du eine engl Erklärung und auch Lösungen.
Gruß Luc :-?
Anzeige
AW: Ich kenne auch keine anderen Möglichkeiten...
08.02.2007 12:07:16
Thomas
Hallo Luc,
danke für Deine ausführliche Antwort und den Link!!!
Gruß,
Thomas
Bitte sehr, gern geschehen! Gruß - owT
08.02.2007 23:16:58
Luc:-?
:-?

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige