wie kann man feststellen ob im Bereich A1:L40 Formate enthalten sind.
Wie könnte eine Lösung per Formel,
wie eine Lösung per VBA aussehen?
Dank im Voraus.
Gruß
Jean
Sub NichtStandard()
Dim rC As Range
For Each rC In ActiveSheet.Range("A1:L40")
If rC.NumberFormat "General" Then
MsgBox rC.Address(0, 0) & " hat Format: " & rC.NumberFormat
End If
Next
End Sub
GreetZ Renee
Function FormatVorhanden(bereich As Range) As Boolean
Dim x As Integer
Dim Zelle As Range
For Each Zelle In bereich
With Zelle.Font
x = x + (.Name Application.StandardFont)
x = x + .Size Application.StandardFontSize
x = x + .Strikethrough = True
x = x + .Superscript = True
x = x + .Subscript = True
x = x + .OutlineFont = True
x = x + .Shadow = True
x = x + .Underline xlUnderlineStyleNone
x = x + .ColorIndex xlAutomatic
x = x + .Bold = True
x = x + .Italic = True
End With
With Zelle
x = x + .Interior.ColorIndex xlNone
x = x + (.NumberFormat "General")
x = x + .FormatConditions.Count
End With
If x 0 Then Exit For
Next
FormatVorhanden = CBool(x)
End Function
bedenke allerdings, daß Format-Änderungen keine Neuberechung auslösen, und eine Formel nur dann neu berechnet wird, wenn eine Zelle des Zellbezugs geändert wird.
wenn du die Formel in Excel einsetzt, ist sie daher nur für den Augenblick der Eingabe gülitg.
beim Einsatz in VBA ist das kein Problem.
Gruß, Daniel