Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
24.04.2024 17:19:09
Anzeige
Archiv - Navigation
1856to1860
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

VBA Code auf mehrere Spalten beziehen

VBA Code auf mehrere Spalten beziehen
23.11.2021 08:41:41
Hannes
Hallo zusammen,
Ich habe mir mit folgender Formel das zusammengebastelt, was ich brauche. Dabei sollen die Zellen nach Auswahl größer werden, damit das Drop Down Menü voll angezeigt wird und daraufhin soll sich die Spaltenbreite an den Inhalt anpassen. Wie in dem Code zu erkennen bezieht sich das Makro nur auf Spalte eins (Spalte A). Leider verzweifle ich daran den Code so umzuschreiben, dass er auf alle Spalten in meiner Arbeitsmappe angewendet wird. Ich würde mich freuen, wenn mir da einer weiterhelfen könnte.
Mein Code ist wie folgt:

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Count > 1 Then Exit Sub
If Target.Column = 1 Then
Target.Columns.ColumnWidth = 20
Else
Columns(1).EntireColumn.AutoFit
End If
End Sub

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA Code auf mehrere Spalten beziehen
23.11.2021 09:25:31
Rudi
Hallo,
hier

If Target.Column = 1 Then
schränkst du auf Spalte 1 (A) ein.
Gruß
Rudi
AW: VBA Code auf mehrere Spalten beziehen
23.11.2021 09:45:49
Hannes
Hallo,
Ja, genau mit dem einfügen einer anderen Zahl begrenze ich die Funktion auch auf die entsprechende andere Spalte, allerdings möchte ich diese Funktion auf alle/ oder möglichst viele meiner Spalten beziehen. Ich habe es bereits mit mehreren Schreibweisen probiert, bin allerdings jedes Mal gescheitert.
Ein Beispiel für einen misslungenen Versuch ist zum Beispiel:

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Count > 1 Then Exit Sub
If Target.Column = Range(Columns(1), Columns(80)) Then
Target.Columns.ColumnWidth = 20
Else
Range(Columns(1), Columns(80)).EntireColumn.AutoFit
End If
End Sub

Anzeige
AW: VBA Code auf mehrere Spalten beziehen
23.11.2021 09:50:23
Rudi
wenn ich das richtig verstehe:

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Count > 1 Then Exit Sub
Select Case Target.Column
Case 1 To 80
Target.ColumnWidth = 20
Case Else
Range(Columns(1), Columns(80)).EntireColumn.AutoFit
End Select
End Sub
Gruß
Rudi
AW: VBA Code auf mehrere Spalten beziehen
23.11.2021 10:12:18
Hannes
Hallo Rudi,
vielen Dank für deine Hilfe und Bemühungen. Leider habe ich immer noch nicht das gewünschte Ergebnis. Mit deinem Code verändert sich nach dem auswählen der einer Zelle die Spaltenbreite wie gewünscht auf die Breite von 20 (wie in dem Code angegeben). Leider bleibt diese Breite nach verlassen der Zelle auch bei der Breite von 20. Mein Ziel ist es, dass sich die Spaltenbreite durch den AutoFit Befehl nach Verlassen der Zelle auf die dann eingegebenen Werte anpasst.
Ich hoffe ich kann mein Anliegen einigermaßen verständlich rüberbringen.
Gruß Hannes
Anzeige

327 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige