Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

Excel 2010 Datenüberprüfung in VBA

Frage Microsoft Microsoft Office

Mitglied: DockMaster-de

DockMaster-de (Level 1) - Jetzt verbinden

12.12.2013 um 17:25 Uhr, 6055 Aufrufe, 4 Kommentare

Hallo Leute,

ich habe ein Problem mit einer Excel-Tabelle und komme nicht weiter.
Spalte C ist mit einem Datum und die Spalte D ist mit einer Uhrzeit gefüllt.
Die Dateneingabe liegt zwischen L und BX. Zeilen von 20 bis 200.

Es soll nun jede Dateneingabe mit dem Datum und Uhrzeit aus der Zeile verglichen werden.
Liegt das Datum und die Uhrzeit in der Vergangenheit soll eine Fehlermeldung erscheinen.
Den Weg mit der Datenüberprüfung kann ich aus verschiedenen Gründen nicht gehen. Somit kommt
wohl nur VBA in Frage. Leider habe ich aber davon keine Ahnung.

Somit hoffe ich auf die Profis hier im Forum.

have a nice day...

DockM@ster
Mitglied: bastla
12.12.2013 um 17:41 Uhr
Hallo DockMaster-de!

Was soll denn nach der Überprüfung weiter passieren? Wenn Du zB nur feststellen und per Farbcodierung anzeigen wolltest, ob der jeweils in L20:BX200 enthaltene Timestamp zeitlich vor dem sich aus den Spalten C und D ergebenden Wert liegt, würde eine Bedingte Formatierung für die Zelle L20 mit der Formel
=L20<($C20+$D20)
(lässt sich dann auch auf alle weiteren Zellen des Bereichs L20:BX200 übertragen) genügen, da ja Datum und Uhrzeit auch nur Zahlenwerte sind (Uhrzeiten sind als Bruchteile eines Tages gespeichert) ...

Grüße
bastla
Bitte warten ..
Mitglied: DockMaster-de
12.12.2013 um 17:50 Uhr
Hallo,

Zitat von bastla:

Hallo DockMaster-de!

Was soll denn nach der Überprüfung weiter passieren?
...

Grüße
bastla

ganz vergessen...
Die Zellen sollen für eine Eingabe gesperrt werden und eine Fehlermeldung erscheinen.
Die Formel von dir habe ich schon in der Datenüberprüfung genutzt. Da das Tabellenblatt mit Formatierungen überzogen ist, müsste ich jede einzelne Zelle bearbeiten und deswegen dachte ich an einen VBA Code.

MfG

DockM@ster
Bitte warten ..
Mitglied: colinardo
12.12.2013, aktualisiert um 19:17 Uhr
Hallo DockM@ster,
Zitat von DockMaster-de:
müsste ich jede einzelne Zelle bearbeiten und deswegen dachte ich an einen VBA Code.
wieso? du kannst den Bereich markieren und dann die Datenüberprüfung mit der Formel von Bastla über den ganzen Bereich in einem Rutsch implementieren. Die Zellbezüge in der Formel werden entsprechend angepasst, solange du die Spalten oder Reihen nicht mit einem $ in der Formel festsetzt.
Die Formel sollte hier aber dann so lauten, wenn du es so meintest das die Daten die du im Bereich L20:BX200 eingegeben hast nicht älter sein dürfen als das aus C und D.
=L20 > ($C20+$D20)
Wenn es unbedingt VBA sein muss, aus welchen Gründen auch immer kannst du folgenden Code in das entsprechende Sheet im VBA-Editor einfügen:
01.
Private Sub Worksheet_Change(ByVal Target As Range) 
02.
    On Error Resume Next 
03.
    ' Bereich der auf Änderungen überwacht werden soll 
04.
    Set changeRange = Range("L20:BX200") 
05.
    'Wenn die geänderte Zelle in den überwachten Bereich fällt... 
06.
    If Not Application.Intersect(changeRange, Target) Is Nothing Then 
07.
        ' Nur ausführen wenn Zelle einen Wert enthält 
08.
        If Target.Value <> "" Then 
09.
            'Datum aus Spalte C und D der jeweiligen Reihe in Variablen schreiben 
10.
            d1 = Cells(Target.Row, 3).Value2 
11.
            d2 = Cells(Target.Row, 4).Value2 
12.
            'Wenn die Eingabe in ein Datum konvertiert werden kann 
13.
            If IsDate(Target.Value) Then 
14.
                'Wenn eingetragener Wert kleiner als Datum aus Spalte C und D gebe Fehlermeldung aus 
15.
                If CDbl(Target.Value2) < (d1 + d2) Then 
16.
                    MsgBox "Das eingegebene Datum liegt in der Vergangenheit!", vbCritical, "Fehler" 
17.
                    'Setze Zellwert zurück 
18.
                    Target.Value = "" 
19.
                End If 
20.
            Else 
21.
                'Eingabe war kein Datum 
22.
                MsgBox "Der Eingabewert ist ungültig, es muss ein Datum eingeben werden", vbCritical, "Fehler" 
23.
                Target.Value = "" 
24.
            End If 
25.
        End If 
26.
    End If 
27.
End Sub
Kommentare im Code.

Grüße Uwe
Bitte warten ..
Mitglied: DockMaster-de
12.12.2013 um 20:15 Uhr
Vielen Dank an alle für die Vorschläge. Ich werde mich jetzt mal mit dem VBA-Code auseinander setzen.

MfG

DockM@ster
Bitte warten ..
Ähnliche Inhalte
Microsoft Office
Excel 2010 mit VBA sortieren ?
gelöst Frage von dressaMicrosoft Office4 Kommentare

Hallo miteinander, Ich habe die Aufgabe mit Excel einen Dateiordner auszulesen und diese in Excel nach 2 Kriterien in ...

VB for Applications
Excel-VBA nach Word-VBA übersetzen (V. 2010)
gelöst Frage von spinnifexVB for Applications2 Kommentare

Hallo Admins, wie kann ich folgendes XL-Makro nach Word übersetzen, wobei die Zelladresse "A1" als Textmarke "Anzahl" angesprochen werden ...

VB for Applications
Excel 2010 VBA: Autofilter auf anderem Tabellenblatt
gelöst Frage von YotYotVB for Applications7 Kommentare

Moin! Gibt es eine Möglichkeit, z.B. in Tabelle1!B18 einen Autofilter für Tabelle2!A:A zu erstellen? Hintergrund: mit dem Autofilter finden ...

Microsoft Office
Email aus Excel 2010 mit VBa versenden
gelöst Frage von GundelputzMicrosoft Office8 Kommentare

Hallo da draussen, ich möchte in Excel 2010 eine Email versenden die nur einen Betreff und eine Textnachricht enthält. ...

Neue Wissensbeiträge
Datenschutz

Weitere Inforamtionen zum Sicherheitsproblem BeA

Information von Penny.Cilin vor 5 StundenDatenschutz

Im folgenden ein weiterer Bericht über die Sicherheitsprobleme von Bea. Fataler Konstruktionsfehler im besonderen elektronischen Anwaltspostfach Gruss Penny

Windows 10

Systemdienste behalten nach Win10 inplace-Upgrade nicht die ggf. modifizierte Startart bei

Tipp von DerWoWusste vor 6 StundenWindows 103 Kommentare

Stellt Euch vor, Ihr habt ein Win10 System und modifiziert dort die Startart von Systemdiensten. Zum Beispiel wollt Ihr ...

Microsoft Office

Deaktivieren von Startbildschirm und Backstage-Ansicht in Office 2016 per Batch-Datei

Anleitung von SarekHL vor 10 StundenMicrosoft Office17 Kommentare

Guten Morgen zusammen! Ich habe mir gestern (auch mit Hilfe dieses Boards) ein Script gebastelt, um in Office 2016 ...

Erkennung und -Abwehr

Sicherheitslücke Spectre und Meltdown: Status prüfen

Anleitung von Frank vor 16 StundenErkennung und -Abwehr2 Kommentare

Nach all den Updates der letzten Woche sollte man unbedingt auch den Status prüfen, ob die Sicherheitslücken Spectre, Meltdown ...

Heiß diskutierte Inhalte
Netzwerke
NTFS-Berechtigung
Frage von Daoudi1973Netzwerke23 Kommentare

Hallo zusammen und frohes neues Jahr (Sorry, ich bin spät dran) Meine Frage: 1- Ich habe einen Ordner im ...

Batch & Shell
AD-Abfrage in Batchdatei und Ergebnis als Variable verarbeiten
gelöst Frage von Winfried-HHBatch & Shell19 Kommentare

Hallo in die Runde! Ich habe eine Ergänzungsfrage zu einem alten Thread von mir. Ausgangslage ist die Batchdatei, die ...

Microsoft Office
Deaktivieren von Startbildschirm und Backstage-Ansicht in Office 2016 per Batch-Datei
Anleitung von SarekHLMicrosoft Office17 Kommentare

Guten Morgen zusammen! Ich habe mir gestern (auch mit Hilfe dieses Boards) ein Script gebastelt, um in Office 2016 ...

Windows 10
Netbook erkennt Soundkarte nicht - keinerlei Info zum Hersteller und Modell vom Netbook und Hardware bekannt
Frage von fyrb38Windows 1017 Kommentare

Guten Tag, meine Schwester reist in einigen Wochen für ein paar Monate ins Ausland und hat sich dafür ein ...