Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Am Sonntag (23.09.) wird das Forum zwischen 06:00 Uhr und 09:00 Uhr kurzzeitig nicht erreichbar sein. Wir stellen auf SSL / HTTPS um.


Spaltenbreite und Höhe automatisch einstellen per VBA
#1
Hallo zusammen,

habe eine Frage ,
habe ein Makro das die Spaltenbreite automatisch einstellt, jedoch gibt es da ein kleines problem. Das Makro erweitert nur die Zellen in denen neue Zahlen bzw Werte eingegeben werden, in den Zellen in denen  der Wert automatisch ausgerechnet wird ändert er die Größe nicht.

Das Makro sollte nun auch noch die Zeilen höhe automatisch erhöhen.

Sub PasseKleineSpaltenAutomatischAn()

Dim Zelle As Range
For Each Zelle In ActiveSheet.UsedRange
 If IsNumeric(Zelle.Value) And Left(Zelle.Text, 1) = "#" Then
  Zelle.EntireColumn.AutoFit
 End If
Next Zelle
End Sub
Antwortento top
#2
Hi,

(06.04.2015, 13:29)wavemaster schrieb: Das Makro sollte nun auch noch die Zeilen höhe automatisch erhöhen.

hast Du das schon probiert?

Zelle.EntireRow.AutoFit
Antwortento top
#3
Hallo,

Du weißt, dass Du eine Bedingung hast, die erfüllt sein muss, damit die Breite angepasst wird?
Und wenn Du die Breite anpasst, dann könnte es keinen Sinn machen die Höhe anzupassen.

Unten ein Beispielcode, welcher zuerst die Zeilenhöhe, dann die Spaltenbreite anpasst.
Bedingung ist, dass in der Zeile bzw in der Spalte etwas steht.


Code:
Sub PasseKleineSpaltenAutomatischAn()
Dim cC As Range, zZ As Range
 With ActiveSheet.UsedRange
   For Each zZ In ActiveSheet.UsedRange.Columns
    If Application.CountA(zZ) Then
     .Rows.EntireRow.AutoFit
    End If
   Next
   For Each cC In ActiveSheet.UsedRange.Columns
    If Application.CountA(cC) Then
     .Columns.EntireColumn.AutoFit
    End If
   Next
 End With
End Sub
Gruß Atilla
Antwortento top
#4
(06.04.2015, 13:53)atilla schrieb: Hallo,

Du weißt, dass Du eine Bedingung hast, die erfüllt sein muss, damit die Breite angepasst wird?
Und wenn Du die Breite anpasst, dann könnte es keinen Sinn machen die Höhe anzupassen.

Unten ein Beispielcode, welcher zuerst die Zeilenhöhe, dann die Spaltenbreite anpasst.
Bedingung ist, dass in der Zeile bzw in der Spalte etwas steht.
Hi,
das Problem bleibt nach wievor das gleiche es ändert nur die Zellen in denen aktiv der Wert eingegeben wird , die Zellen die sich per Formel ändern bleiben gleich. Es gibt noch einige Tabellenblätter in der Mappe, also sollte es nicht nur in dem aktiven Tabellenblatt ändern.

Sorry,

vielleicht gibt es dennoch eine Lösung.
Antwortento top
#5
Es wäre interessant zu Wissen ob es noch jemanden gibt der mir helfen kann.
:s :s :s
Antwortento top
#6
Hallo,

könntest Du vielleicht eine Beispieldatei hochladen?
Gruß Stefan
Win 7 / Office 2007
Antwortento top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste