Thema Datum  Von Nutzer Rating
Antwort
Rot Zeiteingaben zwischen zwei Uhrzeiten eines Wochentages, einschränken
18.04.2022 11:09:10 Nader
NotSolved
18.04.2022 20:10:33 Gast96493
NotSolved
19.04.2022 12:04:55 Nader
NotSolved

Ansicht des Beitrags:
Von:
Nader
Datum:
18.04.2022 11:09:10
Views:
1209
Rating: Antwort:
  Ja
Thema:
Zeiteingaben zwischen zwei Uhrzeiten eines Wochentages, einschränken

Hallo Zusammen,

ich habe folgendes Problem: Ich möchte in vb die Anzahl der Zeiteingaben, die zwischen zwei Uhrzeiten liegen (z.B.: 09:00 und 10:00) und zu einem

bestimmten Datum (z.B.: 14.04.2022) in der Tabelle1 existieren mit Hilfe einer Schleife einschränken un zwar Beispielsweise auf  (5)!

Tabelle1:

A2:A500 -----> Datumsspalte (es befinden sich mehrere Daten)

C2:C500 -----> Uhrzeiten (es befinden sich verschiedene Zeiteingaben)

Erklärung:

Durch eine Routine habe ich eine Lösung realisiert, die eine sechste Eingabe nicht zulässt, allerdings nich zu einem bestimmten Datum (hier 14.04.2022), sondern, wenn überhaupt eine Neueingabe (ab sechste Eingabe) gemacht wird! 

Hier der Code:

Private Sub Worksheet_Change(ByVal Target As Range)
Const cEingabeBereich = "C2:C500"
Const cMaxEingabe = 5

    Set Target = Target.Range("A1") 
    If Not Intersect(Target, Range(cEingabeBereich)) Is Nothing Then
        If Eingabe_zählen(CStr(Target.Offset(0, -1).Value), Range(cEingabeBereich).Offset(0, -1), Range(cEingabeBereich)) > cMaxEingabe Then
            MsgBox "Es wurde  " & Target.Offset(0, -1) & " mehr als " & cMaxEingabe & " Eingaben gemacht!", vbCritical, "Rejected"
            Application.EnableEvents = False
            Target.Value = ""
            Application.EnableEvents = True
        End If
    End If
End Sub


Private Function Eingabe_zählen(ByVal Prüfdatum As String, ByVal DatumBereich As Range, ByVal EingabeBereich As Range)
Dim Z
Dim i
Dim Erg

    For Each Z In EingabeBereich.Cells
        i = i + 1
        If CStr(DatumBereich.Cells(i, 1).Value) = Prüfdatum Then
            If EingabeBereich.Cells(i, 1) <> "" Then Erg = Erg + 1
        End If
    Next
    Eingabe_zählen = Erg
End Function
 

Ich bin für jeden Vorschlag sehr dankbar..............!

VG

Nader

 

 


Ihre Antwort
  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen
Thema: Name: Email:



  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen

Thema Datum  Von Nutzer Rating
Antwort
Rot Zeiteingaben zwischen zwei Uhrzeiten eines Wochentages, einschränken
18.04.2022 11:09:10 Nader
NotSolved
18.04.2022 20:10:33 Gast96493
NotSolved
19.04.2022 12:04:55 Nader
NotSolved