Habe nachfolgenden Code in der Grundform hier bei Herber gefunden. Er entspricht allerdings noch nicht ganz meinen Vorstellungen.
Ich möchte erreichen, dass bei jeder Änderung in einer Zelle die Spalte selbst und alle anderen Spalten angepasst werden - aber nur wenn sie eingeblendet sind; die ausgeblendeten sollen unberücksichtigt bleiben.
Die Anpassung benachbarter Spalten ist erforderlich, weil die Eingabe in einer Spalte auch Ergebnisse in anderen Spalten verändert, so dass eine Anpassung nötig ist.
Der Code funktioniert eigentlich - allerdings werden die Spalten nur verbreitert, wenn dies erforderlich ist. Es erfolgt aber keine Anpassung, wenn der Eintrag weniger Platz erfordert; die Spalte wird dann nicht schmaler.
Hat jemand einen Tipp?
Herzlichen Danke.
Gruß
Dietmar aus Aachen
Private Sub Worksheet_Change(ByVal Target As Range)
' Spaltenbreite nur für die eingeblendeten Spalten optimieren
Application.ScreenUpdating = False
Dim iCol As Integer
For iCol = Selection.Column To Selection.Column + Selection.Columns.Count - 1
If Columns(iCol).Hidden = False Then
Else
Columns(iCol).AutoFit
End If
Next iCol
Application.ScreenUpdating = True
End Sub