Guten Morgen,
Ausgangsstellung:
Feld A1: 3 Werte die mit Alt+Enter untereinander stehen
Feld A2: Hier soll Feld A1 wiedergegeben werden mit den 3 Werten untereinander.
Start/Format/Zeilenhöhe automatisch anpassen funktioniert wenn ich es jetzt ausführe
Problem:
Ich füge jetzt in A1 noch 2 weitere Werte (immer mit alt+Enter) dazu, die Höhe in A2 wird aber nicht automatisch höher und ich hab somit einen optischen Datenverlust.
Über eure Hilfe würde ich mich sehr freuen, wenn man sucht findet man immer nur die manuellen Sachen.
Gruß Epson
Hallo Epson,
folgender Code kommt in das schon vorhandene VBA-Modul des entsprechenden Tabellenblatts:
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$A$1" Then Range("A2").Rows.AutoFit
End Sub
Gruß Uwe
da war schon einer schneller.
Vielen Dank dafür, leider hab ich noch Fragen dazu
1) kann man das auch ohne VBA lösen?
2) kann man den Code automatisch mit kopieren wenn ich Zelle A2 nach A3 vervielfältige? (Original Tabelle ist groß und ziemlich verschachtelt, kann ich leider nicht uploaden)
-Die Formatierung soll auf Zellen angewendet werden die mit einem Sverweis und Verknüpfen belegt sind
Hab vorher leider noch nie mit VBA gearbeitet und bin wirklich Dankbar für die Hilfe
1) Nein (bzw. ja, wenn Du den Umbruch im Menü aktivierst, aber das ist je nach Version nicht immer genau)
2) Rechtsklick Tabellenreiter - Code Anzeigen - nun füge ein
Private Sub Worksheet_Change(ByVal T As Range)
If T.Column = 1 Then T.Rows.AutoFit
End Sub
Damit wird jede Eingabe in Spalte 1 höhenangepasst. Formelzellen allerdings, deren Inhalt sich ändert, passen sich so nicht an.
EDIT: Der Code ist nicht zutreffend, denn er wirkt auch bei Eingabe in anderen Spalten.
Hi,
dieser Code funktioniert:
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Bereich As Range
Set Bereich = Intersect(Target, Range("A:A"))
If Not Bereich Is Nothing Then
On Error Resume Next
'Bereich.Dependents.WrapText = True
Bereich.Dependents.EntireRow.AutoFit
On Error GoTo 0
End If
End Sub
Der Bereich der Ausgangszellen (also die Zellen, in die etwas eingegeben wird), wird mit dem Ausdruck
Range("A:A") (also hier die ganze Spalte A) festgelegt. Mit
Range("A1:A10,C3:F3,Q10") werden die entsprechenden Zellen festgelegt. Zu beachten ist, dass man die amerikanische Notation ("," statt ";") verwenden muss. Die Zellen, die davon abhängen (also die, bei denen die Höhe angepasst werden muss) werden automatisch ermittelt. Natürlich muss in jenen Zellen der Textumbruch gesetzt sein. Falls dies nicht garantiert ist, kann man auch die auskommentierte Zeile aktivieren. Dann wird das automatisch erledigt.