Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Höhe von verbundenen Zellen autom. anpassen.

904 views
Skip to first unread message

Jana

unread,
Mar 8, 2004, 4:47:41 AM3/8/04
to
Hallo,

ich möchte in einer Zelle einen Text über ein
Kombinationsfeld mit einem entsprechend zugeordneten Makro
einfügen.
Das Problem ist, dass sich die Zellenhöhe bei verbundenen
Zellen nicht automatisch anpasst und nach einer Eingabe
auch immer wieder auf Standardhöhe 12,75 geändert wird.

Gibt es ein Makro, mit dem ich eine Feste Höhe vorgeben
kann, die sich nach Änderung der Zelle (z.B. etwas
hineinschreiben) nicht wieder auf 12,75 ändert?
Gibt es in Excel eine Einstellung "Höhe automatisch
anpassen"?

Thomas Ramel

unread,
Mar 8, 2004, 5:18:52 AM3/8/04
to
Grüezi Jana

Jana schrieb am 08.03.2004

> ich möchte in einer Zelle einen Text über ein
> Kombinationsfeld mit einem entsprechend zugeordneten Makro
> einfügen.
> Das Problem ist, dass sich die Zellenhöhe bei verbundenen
> Zellen nicht automatisch anpasst und nach einer Eingabe
> auch immer wieder auf Standardhöhe 12,75 geändert wird.

Hmmm, wenn Du die Zeilenhöne von Hand veränderst; wird sie dann ebenfalls
wieder zurückgesetzt?
Dann müsste IMO ein Makro am Werk sein...

> Gibt es ein Makro, mit dem ich eine Feste Höhe vorgeben
> kann, die sich nach Änderung der Zelle (z.B. etwas
> hineinschreiben) nicht wieder auf 12,75 ändert?
> Gibt es in Excel eine Einstellung "Höhe automatisch
> anpassen"?

Bei verbundenen Zellen greifen die eingebauten Mechanismen nicht.
Verwende stattdessen das folgende Makro, das sich auf die jeweils aktive
fzelle bezieht.

Sub AutoFitMergedCellRowHeight()
'passt die Zeilenhöhe bei verbundenen Zellen automatisch an
'von Hans Herber
Dim CurrentRowHeight As Single, MergedCellRgWidth As Single
Dim CurrCell As Range
Dim ActiveCellWidth As Single, PossNewRowHeight As Single
Dim iX As Integer
If ActiveCell.MergeCells Then
With ActiveCell.MergeArea
If .Rows.Count = 1 And .WrapText = True Then
Application.ScreenUpdating = False
CurrentRowHeight = .RowHeight
ActiveCellWidth = ActiveCell.ColumnWidth
For Each CurrCell In Selection
MergedCellRgWidth = CurrCell.ColumnWidth + _
MergedCellRgWidth
iX = iX + 1
Next
MergedCellRgWidth = MergedCellRgWidth + (iX - 1) * 0.71
.MergeCells = False
.Cells(1).ColumnWidth = MergedCellRgWidth
.EntireRow.AutoFit
PossNewRowHeight = .RowHeight
.Cells(1).ColumnWidth = ActiveCellWidth
.MergeCells = True
.RowHeight = IIf(CurrentRowHeight > PossNewRowHeight, _
CurrentRowHeight, PossNewRowHeight)
End If
End With
End If
End Sub

--
Mit freundlichen Grüssen

Thomas Ramel
- MVP für Microsoft-Excel -

[Win 2000Pro SP-4 / xl2000 SP-3]

Jana

unread,
Mar 8, 2004, 6:04:31 AM3/8/04
to
Hallo Thomas,

das Makro habe ich eingebaut und es klappt super. Das
Problem ist jetzt folgendes: Will ich in dieser Zelle z.B.
ein Wort hinzufügen, dann ändert sich nach Verlassen der
Zelle die Höhe wieder auf 12,75. Gibt es dafür eine Lösung?

Gruß Jana

>-----Originalnachricht-----

>.
>

Thomas Ramel

unread,
Mar 8, 2004, 7:41:37 AM3/8/04
to
Grüezi Jana

Jana schrieb am 08.03.2004

> das Makro habe ich eingebaut und es klappt super. Das

> Problem ist jetzt folgendes: Will ich in dieser Zelle z.B.
> ein Wort hinzufügen, dann ändert sich nach Verlassen der
> Zelle die Höhe wieder auf 12,75. Gibt es dafür eine Lösung?

¨
Soeben getestet (und nicht anders erwartet): die Zeilenhöhe bleibt
erhalten, wenn ich weiteren Text eintrage. Erst bei nochmaligem Ablaufen
lassen des Makros wird er erneut der neuen Höhe angepasst.

Das zurücksetzen der Zeilenhöhe auf den Standard-Wert kann IMO nur von
einem (weiteren) Maakro herstammen.

Laufen weitere Makros auf Ereigns-Ebene ab? Worksheet_Change im
Tabellenblatt oder Workbook_SheetChange() in 'Diese Arbeitsmappe'?

Jörg Eisenträger

unread,
Apr 19, 2004, 2:37:02 PM4/19/04
to

Hallo Thomas,

>Sub AutoFitMergedCellRowHeight()
>'passt die Zeilenhöhe bei verbundenen Zellen automatisch an
>'von Hans Herber

In der Hoffnung, endlich eine Lösung für das leidige Problem der
optimalen Zeilenhöhe bei verbundenen Zellen gefunden zu haben, habe ich
das Makro ausprobiert ... und es passiert nichts, gar nichts.

Also:
- Makros sind zugelassen.
- Zeile auf optimale Höhe eingestellt,
- 3 nebeneinander liegende Zellen verbunden,
- Zeilenumbruch eingestellt,
- mehrzeiligen Text eingetragen, als Fließtext,
- nach Enter bleibt Zeilenhöhe auf Standard.

- verbundene Zelle selektiert
- Makro gestartet -> Zeilenhöhe bleibt auf Standard.

Was läuft hier schief?
Excel 2000 on Win98


Gruß
Jörg
--
LPs auf CD brennen - so geht's: http://www.joergei.de/

Bei Antworten per E-Mail bitte den Unterstrich aus der Adresse entfernen.

Jörg Eisenträger

unread,
Apr 19, 2004, 3:06:37 PM4/19/04
to

Hallo Thomas,

>Sub AutoFitMergedCellRowHeight()
>'passt die Zeilenhöhe bei verbundenen Zellen automatisch an
>'von Hans Herber

Wenn ich das Makro manuell starte, funktioniert es jetzt bei mir. Wie
muss ich es einbinden, damit nach dem Editieren einer verbundenen Zelle
deren Zeilenhöhe sofort automatisch angepasst wird?

0 new messages