Hallo joerg,
Public Enum MyFormateType
BoldSize10 = 0
RedSize45 = 1
End Enum
Anstatt der Enumeration könntest du auch sowas schreiben:
Sub Formatieren(FormatByte as byte)
select case byte
case 0
...
case 1
...
case 2
...
case 3
end select
Die Enumeration ermöglicht es für deine eigenen Programmteile Unterstützung durch die VBA-Entwicklungsumgebung zu erhalten, dadurch können dann beim Aufrufen alle möglichen Formate angezeigt werden und z.B. aus einer Liste ausgewählt werden. Du könntest aber immernoch genau so gut 0 statt "BoldSize10" schreiben (Da das der Wert ist der "BoldSize10" in der Enumeration zugewiesen wird).
Die Werte-Zuweisung erfolgt sogar automatisch, wenn du keinen Wert zuweist werden die Werte 0-n für die Elemente in der Reihenfolge in der sie eingetragen werden vergeben.
"Die Zuordnung ActiveSheet.Range( "c1:ah2" ) stimmt wohl nicht - da die Buchstaben nicht groß werden?"
Nein, Zeichen die mit Anführungszeichen als String-Wert gekennzeichnet sind werden bei der Code-Überprüfung ignoriert - "c1:ah2" ist korrekt.
Ich hab mal die Enumeration erweitert und ein paar Fehler in deinem Code korrigiert ("Font.Name" statt "Font.Type" und vor einer Range-Variable keine Worksheet-Zuweisung, die ist schon enthalten):
Public Enum MyFormateType
azs12
s10
Xf
spAf
spBTf
spATg
spBMg
End Enum
Public Sub MyFormateTemplates(ByRef rng As Range, FormateType As MyFormateType)
Debug.Print FormateType
Select Case FormateType
Case azs12
With rng.Font
.Name = "Arial"
.Size = 12
End With
With rng
.HorizontalAlignment = xlCenter
.VerticalAlignment = xlCenter
End With
Case s10
rng.Font.Size = 10
Case Xf
rng.Font.Bold = True
Case spAf
rng.Font.Bold = True
Case spBTf
rng.Font.Bold = True
Case spATg
rng.Interior.ColorIndex = 15
Case spBMg
rng.Interior.ColorIndex = 15
End Select
End Sub
Sub test()
With ActiveSheet
'ganzes Blatt, Arial, Schriftgröße 12, zentriert
MyFormateTemplates .Cells, azs12
'Überschriftenzeile Schriftgröße 10
MyFormateTemplates .Range("c1:ah2"), s10
MyFormateTemplates .Range(Cells(), Cells()), Xf
End With
End Sub
"Vielleicht wäre es möglich wenn du noch etwas zu meinen Fragen schreiben könntest - wenn es nicht zuviel Mühe macht?"
Bei einer gut strukturierten Fragestellung wie dieser immer wieder gerne :)
Gruß
Till
|