Datenüberprüfung per Makro einstellen
#1
Hallo,
ich habe ca. 300 Dateien aus SAP in Excel heruntergeladen. Diese Dateien habe ich in einem Verzeichnis abgelegt und arbeite sie mit Hilfe eines Makros stückweise ab. Die Dateien haben alle den gleichen Aufbau. Sie unterscheiden sich nur in der Menge der Zeilen. 
Die Dateien werden per Makro formatiert, bekommen zusätzliche Spalten und es werden Summen eingefügt. Zusätzlich möchte ich eine Datenprüfung in jede Datei einbauen. Eine bestimmte Zelle soll einen Wert ausweisen, bevor überhaupt mit dem Befüllen der Dateien begonnen werden kann.
Hier die SUB Routine.

Sub Namen_eintragen()
'
'
'Überprüfung ob der Name beim Ausfüllen eingetragen wurde (Datenüberprüfung)
    Range("H11:J11").Select
    With Selection.Validation
        .Delete
        .Add Type:=xlValidateCustom, AlertStyle:=xlValidAlertStop, Operator:= _
        xlBetween, Formula1:="=nicht(istleer($F$3))"
        .IgnoreBlank = False
        .InCellDropdown = True
        .InputTitle = ""
        .ErrorTitle = "Name notwendig"
        .InputMessage = ""
        .ErrorMessage = "Bitte geben Sie ihren Namen ein!"
        .ShowInput = True
        .ShowError = True
    End With
End Sub

In der Zeile mit Formula1:="=...  wird mir der Anwendungs- und objektorientierte Fehler mit dem Fehlercode 1004 angezeigt.

Kann mir hier jemand weiterhelfen? Ich habe die Routine aufgezeichnet und in das bestehende Makro hineinkopiert.

Besten Dank schon einmal im Voraus.

Gruß
Reiner
Antworten Top
#2
Hallo,

versuche es einmal so:

Code:
Sub Namen_eintragen()
'
'
'Überprüfung ob der Name beim Ausfüllen eingetragen wurde (Datenüberprüfung)
    Range("H11:J11").Select
    With Selection.Validation
        .Delete
        .Add Type:=xlValidateCustom, AlertStyle:=xlValidAlertStop, Operator:= _
        xlBetween, Formula1:="=NOT(ISBLANK($F$3))" '  "=nicht(istleer($F$3))"
        .IgnoreBlank = False
        .InCellDropdown = True
        .InputTitle = ""
        .ErrorTitle = "Name notwendig"
        .InputMessage = ""
        .ErrorMessage = "Bitte geben Sie ihren Namen ein!"
        .ShowInput = True
        .ShowError = True
    End With
End Sub

mfg
Antworten Top
#3
Hallo,
danke für deine Hilfe. Hat an Anhieb funktioniert. 

Gruß

Reiner Thumps_up
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 2 Gast/Gäste