Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

VBA Error beim erstellen einer Validierung

Forumthread: VBA Error beim erstellen einer Validierung

VBA Error beim erstellen einer Validierung
21.03.2019 12:33:29
Peter(silie)
Hallo Leute,
ich füge eine Datenvalidierung per VBA Code in eine Range ein.
Dabei erhalte ich aber einen Objektdefinierten fehler ab der Fettmarkierten Zeile.
Kann mir jemand sagen wo das Problem liegt?

Private Sub ApplyRestriction(ByRef target As Range)
If (target Is Nothing) Then Exit Sub
Dim msg As String
msg = "Kein gültiges Format." & vbCrLf & vbCrLf & _
"Zugelassen: dd.mm.yyyy" & vbCrLf & _
"Beispiel: " & Format(Date, "dd.mm.yyyy")
Dim addr As String: addr = Replace(target.Address, "$", vbNullString)
Dim frml As String: frml = "=UND(ISTZAHL(" & addr & ");" & _
addr & ">0;" & addr & "        .Add Type:=xlValidateCustom, _
AlertStyle:=xlValidAlertStop, _
Operator:=xlBetween, _
Formula1:=frml
.IgnoreBlank = True
.InCellDropdown = True
.InputTitle = "FORMAT"
.ErrorTitle = "INVALID FORMAT"
.InputMessage = "Datum eingeben"
.ErrorMessage = msg
.ShowInput = True
.ShowError = True
End With
End Sub

Die Formel die generiert wird sieht wie folgt aus:

=UND(ISTZAHL(H8);H8>0;H8

Formel habe ich hier her:
http://www.excelformeln.de/formeln.html?welcher=197
Anzeige

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA Error beim erstellen einer Validierung
21.03.2019 13:39:51
Daniel
Hi
der Formeltext muss in englisch übergeben werden, dh mit englischen Funktionnamen und Komma als Parametertrennzeichen.
Gruß Daniel
AW: VBA Error beim erstellen einer Validierung
21.03.2019 13:42:46
Nepumuk
Hallo Peter,
soviel ich weiß muss die Formel in englisch geschrieben sein.
=AND(ISNUMBER(H8),H8>0,H8
wobei ich mir bei "Format" nicht sicher bin ob das auch in englisch so heißt.
Gruß
Nepumuk
Anzeige
Danke Daniel und Nepumuk! Gelöst
21.03.2019 13:52:09
Peter(silie)
Vielen Dank Daniel und Nepumuk!
Funktioniert jetzt fehlerfrei :)
Hier ist der angepasste Code:
Private Sub ApplyRestriction(ByVal target As Range)
If (target Is Nothing) Then Exit Sub
Dim addr As String: addr = target.Address(False, False)
Dim frml As String: frml = "=AND(ISNUMBER(" & addr & ")," & _
addr & ">0," & addr & "

Anzeige
;

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige