Registriert seit: 28.09.2022
Version(en): Excel 2019
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
Registriert seit: 17.04.2014
Version(en): MS Office 365(32)
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
Folgende(r) 1 Nutzer sagt Danke an Kuwer für diesen Beitrag:1 Nutzer sagt Danke an Kuwer für diesen Beitrag 28
• Epsolos
Registriert seit: 16.08.2020
Version(en): 2019 64bit
28.09.2022, 08:47
(Dieser Beitrag wurde zuletzt bearbeitet: 28.09.2022, 08:50 von Egon12.)
da war schon einer schneller.
Folgende(r) 1 Nutzer sagt Danke an Egon12 für diesen Beitrag:1 Nutzer sagt Danke an Egon12 für diesen Beitrag 28
• Epsolos
Registriert seit: 28.09.2022
Version(en): Excel 2019
28.09.2022, 09:08
(Dieser Beitrag wurde zuletzt bearbeitet: 28.09.2022, 09:38 von Epsolos.)
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
Registriert seit: 21.12.2017
Version(en): MS 365 Family (6 User x 5 Geräte für jeden) Insider-Beta
28.09.2022, 09:21
(Dieser Beitrag wurde zuletzt bearbeitet: 28.09.2022, 09:27 von LCohen.)
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.
Registriert seit: 28.08.2022
Version(en): 365
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.
Gruß,
Helmut
Win10 - Office365 / MacOS - Office365