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

Mitglied: DockMaster-de

DockMaster-de (Level 1) - Jetzt verbinden

12.12.2013 um 17:25 Uhr, 6746 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 2010 vba mehrspaltige listbox
Frage von AsciWhiteVB for Applications11 Kommentare

Hallo, ich versuche Daten aus einer Access-Datei in eine ListBox auf einer Userform einzulesen. Dazu habe ich die ListBox ...

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 ...

Microsoft Office

Excel VBA vbyesno

gelöst Frage von Florian86Microsoft Office2 Kommentare

Hallo, ich habe folgenden Code Sub AbgerundetesRechteck1_Klicken() Dim wksOrig As Worksheet Dim wksStore As Worksheet Dim lngLastRow As Long ...

Neue Wissensbeiträge
Humor (lol)
Preisvertipper
Information von Dilbert-MD vor 2 TagenHumor (lol)7 Kommentare

Moin! weil heute Freitag ist, zeige ich Euch den Preisvertipper der Woche: vergesst den Acer Predator 21x, der ist ...

Windows Update
Sicherheitsupdate für SQL Server 2014 SP3
Information von sabines vor 3 TagenWindows Update2 Kommentare

Für den SQL Server 2014 existiert ein Sicherheitsupdate. Laut KB Artikel wird es als CU3 angezeigt: Server 2014 SP3 ...

Backup

Veeam Agent für MS Windows - neue Version verfügbar (bedingt jedoch offenbar .NET Framework 4.6)

Information von VGem-e vor 4 TagenBackup1 Kommentar

Moin Kollegen, einer unserer Server zeigte grad an, dass für o.g. Software ein Update verfügbar ist. Ob ein evtl. ...

Python

Sie meinen es ja nur gut - Microsoft hilft python-Entwicklern auf unnachahmliche Weise

Information von DerWoWusste vor 6 TagenPython2 Kommentare

Stellt Euch vor, Ihr nutzt python unter Windows 10 und skriptet damit regelmäßig Dinge. Nach dem Update auf Windows ...

Heiß diskutierte Inhalte
Cloud-Dienste
MS Sharepoint generelle Frage zur Einrichtung
Frage von ralf86Cloud-Dienste15 Kommentare

Hallo, ich will den Sharepoint als FileServer nutzen. Hier sollen mehrere Freigabeordner mit unterschiedlichen Berechtigungen erstellt werden z.B. Geschäftsführung ...

Router & Routing
FritzBox und SynologyNAS VPN
Frage von ndeedyRouter & Routing10 Kommentare

Moin moin. Irgendwie habe ich entweder ein bescheuertes Setup, oder mir bereits komplett die Birne mit Versuchen durchgebraten. Bin ...

Vmware
VMware Update 5.1 zu 6.7U4
gelöst Frage von patrickebertVmware8 Kommentare

Hallo alle zusammen, ich den nächsten Monaten steht für mich die Umstellung zwei neuer physikalischer Server an und ich ...

Outlook & Mail
Outlook 2016: Schrift der Ordnerspalte verkleinern
Frage von usercrashOutlook & Mail7 Kommentare

Hallo, wie/wo kann man in MS Outlook 2016 im Ordnerbereich am linken Bildrand die Schriften, die Überschriften und den ...