veraxel
Goto Top

Excel: Zellenhöhe soll sich automatisch dem Inhalt anpassen

Hallo Experten face-smile

Ich habe in einer Exceltabelle eine Spalte mit fester Breite. Der Inhalt der einzelnen Zellen dieser Spalte wird per Formel bestimmt (reiner Text-Inhalt). Es kommt also vor dass der Inhalt nicht in die Zelle passt. Dafür habe ich das Häkchen Zeilenumbruch aktiviert in den Zell-Eigenschaften. Der Zeilenumbruch funktioniert auch prima. Die Höhe der Zelle ist dann halt zweizeilig.
Blöd ist jetzt nur, wenn der Inhalt sich nun ändert so dass kein Zeilenumbruch mehr notwendig ist, bleibt die Zelle zweizeilig.

Wie bekomme ich es hin dass die Zelle einen Zeilenumbruch macht, wenn der Inhalt nicht rein passt aber dann auch wieder seine ursprüngliche Größe annimmt wenn der Inhalt wieder "klein" ist?

Gruß, Axel

Content-ID: 262398

Url: https://administrator.de/forum/excel-zellenhoehe-soll-sich-automatisch-dem-inhalt-anpassen-262398.html

Ausgedruckt am: 27.12.2024 um 03:12 Uhr

colinardo
Lösung colinardo 05.02.2015 aktualisiert um 14:22:27 Uhr
Goto Top
Hallo Axel,
kannst du z.B. mit einem kleinen Makro erreichen was du in den Codeabschnitt des Sheets (Kontextmenü des Sheet-Tabs > Code anzeigen) kopierst:
(Range der gewünschten Zelle, in Zeile 2 anpassen)
Private Sub Worksheet_Change(ByVal Target As Range)
    Range("A3").Rows.AutoFit  
End Sub
Der Code wird immer dann ausgeführt wenn im Sheet etwas geändert wird. Das ganze lässt sich bei Bedarf auch auf eine Änderung nur in bestimmten Zellen einschränken.

Grüße Uwe
Doskias
Doskias 05.02.2015 aktualisiert um 11:44:41 Uhr
Goto Top
Hi Axel,

Rechte Muastaste auf die Zelle(n),
Zellen formatieren
Ausrichtung
Im Bereich Teststeuerung den Haken Zeilenumbrch setzen

Es muss nicht imm Code sein ;)
Gruß
Doskias
colinardo
Lösung colinardo 05.02.2015 aktualisiert um 14:22:32 Uhr
Goto Top
Zitat von @Doskias:
Es muss nicht imm Code sein ;)
Mach das mal mit einer berechneten Zelle, dann wirst du eben feststellen das hier nicht immer die Höhe zurückgesetzt wird ... face-wink
Doskias
Doskias 05.02.2015 aktualisiert um 13:58:37 Uhr
Goto Top
Zitat von @colinardo:

> Zitat von @Doskias:
> Es muss nicht imm Code sein ;)
Mach das mal mit einer berechneten Zelle, dann wirst du eben feststellen das hier nicht immer die Höhe zurückgesetzt
wird ... face-wink

Oh du hast Recht. Ich hab grasde mal verschiedene Formeln ausprobiert. Bei einigen wurde es zurückgesetzt, bei anderen nicht. Ich denke es ist wohl doch besser @colinardos Weg zu nehmen.
veraxel
veraxel 05.02.2015 um 13:55:39 Uhr
Goto Top
Klappt leider nicht richtig mit dem Makro.
Wenn der Text zu groß ist und er einen Zeilenumbruch machen soll, was er bisher auch gemacht macht, dann wird mit dem Makro wieder auf eine Zeile reduziert und der Text ist nicht vollständig sichtbar.

Ein zweites Problem:
Da der Inhalt der Zellen nicht vom gleichen Tabellenblatt geholt wird, habe ich den Code in das Tabellenblatt geschrieben, wo auch letztendlich die Änderung durchgeführt wird. Klappt auch. Der Code sieht dann so aus:

Private Sub Worksheet_Change(ByVal Target As Range)
Sheets("Tabelle4").Select
Range("B5").Rows(1).AutoFit
End Sub

Störend dabei ist das ins Tabellenblatt 4 gesprungen wird, bedingt durch den Select-Befehl.
Ich bin kein Makro-Experte, wie muss ich es umschreiben damit NICHT in Tabelle4 gesprungen wird?
colinardo
Lösung colinardo 05.02.2015 aktualisiert um 14:22:46 Uhr
Goto Top
Zitat von @veraxel:
Klappt leider nicht richtig mit dem Makro.
Wenn der Text zu groß ist und er einen Zeilenumbruch machen soll, was er bisher auch gemacht macht, dann wird mit dem Makro
wieder auf eine Zeile reduziert und der Text ist nicht vollständig sichtbar.
Umbruch musst du natürlich weiterhin in der Zelle aktivieren. Geht hier einwandfrei, oder du hast es etwas unverständlich geschildert, wenn du willst mach ich dir gerne ein Demo-Sheet...
Störend dabei ist das ins Tabellenblatt 4 gesprungen wird, bedingt durch den Select-Befehl.
Ich bin kein Makro-Experte, wie muss ich es umschreiben damit NICHT in Tabelle4 gesprungen wird?
Kein Problem das machst du so:
Private Sub Worksheet_Change(ByVal Target As Range)
    Sheets("Tabelle4").Range("B5").Rows.AutoFit  
End Sub

Hier das Demo-Sheet:auto_fit_row_262398.xlsm (Eingabe des Textes auf dem zweiten Sheet 'Eingabe')
veraxel
veraxel 05.02.2015 um 14:22:03 Uhr
Goto Top
Danke jetzt klappt es!
Ich weiß nicht warum es eben nicht ging, Häkchen war auch drin.

Vielen Dank!