Clever-Excel-Forum

Normale Version: Zeilenhöhe automatisch anpassen funktioniert bei kopierten Inhalt nicht
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo,

ein Beispiel in Excel 2019

ich habe eine Exceltabelle mit mehreren Tabellenblättern.

Im ersten Tabellenblatt (für die Dateneingabe) steht in Zelle C10 ein Text über mehrere Zeilen. Die Zeilenhöhe wird automatisch angepasst und Textumbruch ist aktiviert.
Bis hierhin klappt alles gut.

Nun soll aber der Inhalt der Zelle in eine Zelle des anderen Tabellenblatts kopiert werden.
Auch hier wird die Zeilenhöhe automatisch angepasst und Textumbruch ist aktiviert.

Die Formel in der Zelle lautet: =WENN(Dateneingabe!C10="";"";Dateneingabe!C10)

Der Text wird zwar korrekt kopiert, aber die Zellengröße passt sich nicht automatisch an.
-Schalte ich den Textumbruch für diese Zelle aus und wieder ein passt sich die Zelle an.
-Das funktioniert auch wenn ich nochmal auf Format/Zeilenhöhe automatisch anpassen klicke.

Wie aber bekomme ich Excel dazu das wirklich automatisch zu machen?

Mache ich etwas falsch?

Danke!
Moin!
Du kopierst ja nicht, sondern setzt (per Formel) einen Verweis auf die Zelle.
Ich kann das Verhalten nachstellen.
Leider fällt mir allerdings nur folgender Workaround ein:

Schreibe ein Makro in ein allgemeines Modul und weise ihm über Optionen den Shortcut Strg+Umschalt+H zu:
Code:
Sub Zeilenhoehe()
'Shortcut Strg+Umschalt+H
ActiveSheet.Rows.AutoFit
End Sub

Jetzt ist die Anpassung jeweils nur eine Tastenkombination entfernt.

Gruß Ralf
Danke,

das wäre für mich ok.

Aber da die Tabelle für jemand anderen ist weiß ich noch nicht ob das so ginge.

Vieleicht gibt es ja doch noch eine andere Lösung.

Könnte man das nicht so umsetzen, dass eine bestimmte Spalte vor dem
Speichern des Dokuments automatisch angepasst wird?

Oder könnte ich einen "Button" neben der Spalte in eine Zelle einfügen der das Makro auslöst?

Gruß

Mario
Ich bin durchaus der Meinung, dass man dem Benutzer der Datei beibringen kann, kurz
Strg+H(öhe) zu drücken.
Natürlich kannst Du auch einen Button belegen.

Andere Möglichkeit:
Überwache Spalte C der "Dateneingabe".
Ins Modul dieser Tabelle dann:
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 3 And Target.CountLarge = 1 Then
  Worksheets("DeineTabelle").Rows.AutoFit
End If
End Sub

Gruß Ralf
Moin Ralf,

Zitat:Ich bin durchaus der Meinung, dass man dem Benutzer der Datei beibringen kann, kurz
Strg+H(öhe) zu drücken.

hilf mir mal bitte auf die Sprünge - STRG+H ergibt bei mir [attachment=30784]
Moin Günter!
Strg+H
nicht Strg+h
(siehe auch meine erste Antwort)

Ich würde niemals einen wichtigen Shortcut überschreiben!
(und würde den teeren und federn, der mir so etwas unterjubelt)

Gruß Ralf
Hi Ralf,

ja, wer lesen kann, ist klar im Vorteil. Blush
(02.04.2020, 07:59)RPP63 schrieb: [ -> ]Andere Möglichkeit:
Überwache Spalte C der "Dateneingabe".
Ins Modul dieser Tabelle dann:
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 3 And Target.CountLarge = 1 Then
  Worksheets("DeineTabelle").Rows.AutoFit
End If
End Sub

Gruß Ralf

Hallo Ralf,

ich kenne mich mit Makros und VBA leider noch nicht so aus. Das mit dem Button habe ich testweise hinbekommen und das wäre vom Handling her ok.
Ich müsste nur noch den Code anpassen damit auf dem entsprechenden Tabellenblatt dann für Spalte C die Anpassung vorgenommen wird.

Wie funktioniert das mit dem Überwachen genau? Würde Excel nach der Eingabe eines Textes in einer Zelle dann automatisch bestimmte Zellen oder eine Spalte automatisch anpassen? Ohne Userinteraktion?

Das müsste ich mir dann mal ansehen. Leider weiß ich auch noch nicht genau wie ich mit Modulen umgehen muss. Gibt es dazu eine Schritt für Schritt Anleitung? Angel

Danke!
Hallöchen,

ein bisschen was findest Du in unserem Beispielbereich:

Excel-Word-Makrorekorder
VBA-Tutorial