# Aus VBA herraus eine Zelle in Exel formatieren



## bold (1. Dezember 2004)

Hi! ich habe ein Problem! ich will eine Zelle formatieren:

 die sachen kenn ich schon:

 ~ die Zelle soll eine bestimmte Hintergrundfarbe haben ( interior Colorindex)
 ~ die schrift soll arial sein
 ~ die schrift soll dick sein

 die sache fehlt mir und *hier brauche ich hilfe*wie kann ich eine zelle automatisch kleiner machen? also ich würde gerne den befehl zum verkleinern der breite und höhe einer zelle wissen! 

 danke im vorraus


----------



## wincnc (1. Dezember 2004)

Beispiele:

```
Columns("A:A").EntireColumn.AutoFit
Rows("1:1").EntireRow.AutoFit
Columns("A:A").ColumnWidth = 10
Rows("1:1").RowHeight = 20
```


----------



## bold (1. Dezember 2004)

vielen dank! die antwort kam ja echt fix! ich danke dir

 irgendwie funktioniert das nicht ! hier mein quellcode!


```
Sub einmaleins()
 
 eingabe = InputBox("geben sie eine zahl zwischen 1 und 20 ein")
 
 ' schleife
 Do
 
 	If eingabe > 20 Or eingabe < 1 Then MsgBox ("fehleingabe")
 
 Loop Until eingabe > 0 And eingabe <= 20
 
 For x = 1 To eingabe
 
 Cells(1, x) = x
 Cells(1, x).Font.Bold = True
 Cells(1, x).Interior.ColorIndex = 3
 Cells(x, 1) = x
 Cells(x, 1).Font.Bold = True
 Cells(x, 1).Interior.ColorIndex = 3
 Next
 
 For x = 1 To eingabe
 
 For y = 1 To eingabe
 
 Cells(x, y) = x * y
 
 Next
 Next
 
 End Sub
```
 
 wie kann ich nun die zellen noch automatisch verkleinern bzw. vergrößern ?!


----------



## wincnc (2. Dezember 2004)

Versuch´s mal so:

```
Sub einmaleins()

eingabe = InputBox("geben sie eine zahl zwischen 1 und 20 ein")
 
 ' schleife
 Do
 
    If eingabe > 20 Or eingabe < 1 Then MsgBox ("fehleingabe")
 
 Loop Until eingabe > 0 And eingabe <= 20
 
 For x = 1 To eingabe
 
 Cells(1, x) = x
 Cells(1, x).Font.Bold = True
 Cells(1, x).Interior.ColorIndex = 3
 Cells(x, 1) = x
 Cells(x, 1).Font.Bold = True
 Cells(x, 1).Interior.ColorIndex = 3
 Columns(x).EntireColumn.AutoFit
 'oder
 'Columns(x).ColumnWidth = 5
 Next
 
 For x = 1 To eingabe
 
 For y = 1 To eingabe
 
 Cells(x, y) = x * y
 Rows(y).EntireRow.AutoFit
 ' oder
 'Rows(y).RowHeight = 20
 Next
 Next
End Sub
```


----------



## Soundsupporter (2. Dezember 2004)

Ich habe gerade ein für euch sicherlich triviales Problem. Nur mich bringt das noch zur verzweiflung. Ich möchte einer bestimmten "Range" von Zellen eine ganz bestimmte Schriftgröße geben und komm beim besten Willen nicht dahinter wie ich das machen soll. 
Und jetzt bitte ned anfangen zu lachen den schließlich hat ja auch jeder von euch sicherlich mal klein angefangen 

Zur kompletten Entblößung meines Anfänbgertums jetzt hier mal einen Auszug aus meinem Code in den Ich daß ganze gerne einfügen würde. (Wenns so nicht geht bin ich aber auch über andere Lösungsansätze dankbar.)


> Range(Cells(1, 1), Cells(1, 4)).Select
> SelectionRowHeight = 79.5
> ######Und hier hätte ich gerne die Anweisung für die Fontsize eingefügt.######


----------



## wincnc (2. Dezember 2004)

Versuch´s mal so:

```
Range("A1:D1").Select
    With Selection.Font
        .Name = "Arial"
        .Size = 14
        .Strikethrough = False
        .Superscript = False
        .Subscript = False
        .OutlineFont = False
        .Shadow = False
        .Underline = xlUnderlineStyleNone
        .ColorIndex = xlAutomatic
    End With
```


----------

