Ich möchte in einer dynamisch gehaltenen Excel-Datenbank überprüfen, ob die Formate der einzelnen Zellen mit den Inhalten übereinstimmen, wenn jemand eine andere Tabelle kopiert und einfügt und z.B. vergessen hat, auch die Formate mit zu kopieren.
Mein Gedanke ist, dass da z.B. in einer Spalte Datumswerte stehen, die aber nicht wie gewünscht formatiert sind. Mit der folgenden Testmimik habe ich das mal probiert und ich habe den Eindruck, in der Art könnte man es machen.
Das sollte auch deshalb gemacht werden, weil die den Spalten zugeordneten Textboxen gegebenenfalls neu formatiert werden müssten.
Aber wie ist das mit den Währungsformaten? Kann mal bitte jemand in den code ganz unten gucken?. Wäre nett.
Option Explicit
Private Sub CommandButton1_Click()
Dim zelle As Range
For Each zelle In ActiveSheet.UsedRange
If IsDate(zelle) Then
zelle = Format(CDate(zelle), "dd.mm.yyyy")
Else
MsgBox zelle & Chr(13) & "die ""Zelle"" hat kein Datumsformat"
End If
If IsTime(zelle) Then
zelle = Format(CDate(zelle), "[hh]:mm")
Else
MsgBox zelle & Chr(13) & "die ""zelle"" hat kein Zeitformat"
End If
If IsText(zelle) Then
zelle = Format(Text(zelle))
MsgBox "die ""zelle"" hat kein Textformat"
End If
If zelle.Value = Währungsformat Then
If InStr(zelle, "SF") Then
zelle = Format(CCur(zelle), "SF* #,##0.00")
Else
zelle = Format(CCur(zelle), "* #,##.0.00")
End If
End If
Next zelle
End Sub
Danke, für Eure Mühe.
Grüße, Fritz