Das Clever-Excel-Forum.de - Treffen
... 14.-16. September 2018 im Allgäu ...

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
to 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
Gruß Ralf

?mage

Die deutsche Rechtschreibung ist Freeware, d.h. du kannst sie kostenlos nutzen.
Allerdings ist sie nicht Open Source, deswegen darfst du sie nicht verändern oder in veränderter Form veröffentlichen.
to 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
to 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.
to top
#5
Es wäre interessant zu Wissen ob es noch jemanden gibt der mir helfen kann.
Confused Confused Confused
to top
#6
Hallo,

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


Gehe zu:


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