Office: MsgBox wenn in Zeitintervall kein "x"

Helfe beim Thema MsgBox wenn in Zeitintervall kein "x" in Microsoft Excel Hilfe um das Problem gemeinsam zu lösen; Hallo Aloys, eine Kleinigkeit hätte ich vielleicht noch. Im täglichen Umgang hat man nun mal die Excel nicht immer im Vordergrund, daher die Frage,... Dieses Thema im Forum "Microsoft Excel Hilfe" wurde erstellt von jexelo, 5. November 2020.

  1. MsgBox wenn in Zeitintervall kein "x"


    Hallo Aloys,
    eine Kleinigkeit hätte ich vielleicht noch.
    Im täglichen Umgang hat man nun mal die Excel nicht immer im Vordergrund, daher die Frage, kann man die Excel mit der MsgBox in der Vordergrund erzwingen?
     
  2. Hallo Steven,
    Anbei mal meine Testdatei mit kleinen Änderungen zu meinem bisherigen Vorschlag:
    - Datei in Vordergrund bringen, nachdem die Prüfung auf "x" durchgeführt wurde,
    - eine neue Konstante für bedingte Kompilierung
    Code:
    Im Testbetrieb wird keine MsgBox ausgegeben, sondern eine Info in Sp P.
    Man muss in der Testphase dann nicht ständig auf die MsgBox reagieren.
    Bei Änderung des Wertes muss Datei neu gestartet werden.
     
  3. Hallo Aloys,

    nochmals vielen Dank für Deine Mühen.

    Für meine orig. Excel habe ich Deine VBA siehe unten angepasst.

    Es funktioniert alles auch die Zeitangabe in der MsgBox geht jetzt (hatte einen alten Verweis) nur geht die Excel nicht in den Vordergrund.

    Ich habe implementiert, dass in das Sheet "Abrechnung" gewechselt werden soll, aber egal mit welcher Ausgangssituation geht die Excel nicht in Erscheinung. Ob ich die Excel im Hintergrund habe oder minimiert, ob ich einen Browser oder Outlook im Vordergrund habe, die Excel wechsel mit MsgBox nicht in den Vordergrund. Die Excel blinkt in der Taskleiste aber das wars leider.

    So langsam ist mir das sehr unangenehm, Dich für das Thema so einzuspannen.

    ---

    Option Explicit

    #Const conProd = 1 ' 1 = Produktion, 0 = Testbetrieb
    Public pswT As Boolean
    Public pZeit As Date
    Public pRow As Long
    Public pIncr As Long
    Public Const iAddOn As Long = 1

    Public Sub TimeCounterStart()
    Application.OnTime pZeit, "NextTime", , pswT
    End Sub

    Public Sub NextTime()
    If Minute(pZeit) >= (pIncr + 1) Then
    pRow = (Hour(pZeit) - 7) * 2 + 5 + 1 ' Zeilen# halbe Stunde
    Else
    pRow = (Hour(pZeit) - 7) * 2 + 5 ' Zeilen# volle Stunde
    End If

    ThisWorkbook.Worksheets("Abrechnung").Activate
    With ThisWorkbook.Worksheets("Abrechnung")

    #If conProd = 1 Then
    If .Range("B" & pRow) = "" And .Range("C" & pRow) = "" And .Range("D" & pRow) = "" Then
    MsgBox "NRW " & Format(.Cells(pRow, 1), "hh:mm") & " ohne Eintrag!", vbCritical
    End If
    #Else
    If .Range("B" & pRow) = "" And .Range("C" & pRow) = "" And .Range("D" & pRow) = "" Then
    .Range("AC" & pRow) = "NRW"
    Else
    .Range("AC" & pRow) = "x"
    End If
    #End If
    Application.WindowState = xlNormal
    End With

    With ThisWorkbook.Worksheets("Abrechnung")
    #If conProd = 1 Then
    If .Range("E" & pRow) = "" And .Range("F" & pRow) = "" And .Range("G" & pRow) = "" Then
    MsgBox "RUHR " & Format(.Cells(pRow, 1), "hh:mm") & " ohne Eintrag!", vbCritical
    End If
    #Else
    If .Range("E" & pRow) = "" And .Range("F" & pRow) = "" And .Range("G" & pRow) = "" Then
    .Range("AD" & pRow) = "RUHR"
    Else
    .Range("AD" & pRow) = "x"
    End If
    #End If
    Application.WindowState = xlNormal
    End With

    With ThisWorkbook.Worksheets("Abrechnung")
    #If conProd = 1 Then
    If .Range("H" & pRow) = "" And .Range("I" & pRow) = "" And .Range("J" & pRow) = "" Then
    MsgBox "Düsseldorf " & Format(.Cells(pRow, 1), "hh:mm") & " ohne Eintrag!", vbCritical
    End If
    #Else
    If .Range("H" & pRow) = "" And .Range("I" & pRow) = "" And .Range("J" & pRow) = "" Then
    .Range("AE" & pRow) = "Düsseldorf"
    Else
    .Range("AE" & pRow) = "x"
    End If
    #End If
    Application.WindowState = xlNormal
    End With

    If Minute(pZeit) < (pIncr + 1) Then
    pZeit = TimeSerial(Hour(Now), pIncr + 1, 0)
    Else
    pZeit = TimeSerial(Hour(Now) + 1, 1, 0)
    End If
    If Hour(pZeit) > 22 Then
    pswT = False
    pZeit = Now + TimeSerial(0, 0, iAddOn)
    End If
    TimeCounterStart
    End Sub
     
  4. MsgBox wenn in Zeitintervall kein "x"

    Hallo Steven,
    Und ich zitiere nur ungern einen Forum-Kollegen, der in einem solchen Fall sinngemäß sagt: "ich kann das nicht nachvollziehen, da ich nicht vor Deinem Rechner sitze!"

    Sorry, ich habe es soeben noch einmal bei Auslöser 18:01 Uhr getestet.
    Ich arbeite mit dem Firefox-Browser und die Excel-Datei ist ausgeblendet. Zum angegebenen Zeitpunkt wird die Tabelle (wie gewünscht) voll angezeigt.

    Außerdem fällt mir auf, dass Du den wesentlichen Code-Block 3-Fach eingebaut hast (???).
    .
    Hattest Du es mal mit der von mir geschickten Datei versucht?
    Getestet mit Windows 10 und Office Home 2016.
     
  5. Hallo Aloys,

    Ich habe immer drei Reihen für drei Regionen, daher ist der Code-Block 3-fach.
    Habe ich das falsch gemacht? Es funktioniert, außer das die Excel in den Vordergrund geht.

    Leider geht diese Excel auch nicht in den Vordergrund.

    Muss ich vielleicht ein bestimmten Verweis aktivieren? Anbei ein Bild mit dem was bei mir an Verweisen aktiv ist.

    Liebe Grüße Steven
     
  6. Hallo Steven,

    ich unterstelle, dass die Datei geöffnet, aber minimiert ist.

    Dann ersetze mal die folgende Anweisung
    Code:
    durch die beiden Anweisungen
    Code:
     
  7. Hey Aloys,

    es geht. Ich bin so glücklich. Vielen Dank.

    Vielleicht kannst Du mir noch einen letzten Gefallen tun.

    Ich möchte, wenn in Spalte A klicke, in Spalte B in genau dieser Reihe ein "x" erscheint.

    Also Klick in A4 = "x" in B4. In A4 soll keine Aktion erfolgen. (Da sind E-Mail Adressen hinterlegt)

    Liebe Grüße Steven
     
  8. MsgBox wenn in Zeitintervall kein "x"

    Hallo Steven,
    Wenn ich das richtig sehe, dann handelt es sich um eine andere Datei, hat also mit der bisherigen Aufgabenstellung nichts zu tun!

    Dazu meine Verständnisfragen:
    - warum die "x"-Eingabe auf dem Umweg über einen Klick in der Nachbarzelle?
    - ist Sp B geschützt?
    - was verstehst Du unter Klick? Rechts- oder DoppelClick?
    - soll das "x" in Sp B auch ggf wieder entfernt werden können?
    - wenn ja, wie ist dazu Deine Vorstellung?
     
  9. Hallo Aloys,

    ja thematisch schweifen wir jetzt ab, wenn ich ein neues Thema eröffnen soll dann mache ich das gerne.

    Ich habe in der Excel in Spalte D2 - D300 E-Mail Adressen und in Spalte E2 - E300 wird per Klick ein "x" gesetzt (siehe VBA/Foto). In der weiterführenden VBA werden die mit "x" markierten E-Mail Adressen kumuliert und in eine Mail gesetzt (TO) Die Reihe E2 - E300 wird am Ende geleert.

    In der Praxis hat sich einfach gezeigt, das bei der "Suche" nach den Mitarbeitern (E-Mail Adressen) die E-Mail Adresse angeklickt wird und dann nochmal nebenstehend in der Reihe E ein "x" gesetzt werden muss.
    Da dachte ich, warum nicht ein "x" in Spalte E wenn in Spalte D geklickt wird.
    Wichtig ist aber, es muss immer die gleiche Reihe nur eine Spalte weiter sein. In Reihe D darf nichts passieren, da dort die E-Mail Adressen sind.

    ---

    Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    On Error Resume Next
    If Intersect(Target, Range("D2 : D300")Nothing Then Exit Sub
    Target = IIf(Target = "x", "", "x")
    End Sub
     
  10. Hallo Steven,
    Das solltest Du zukünftig machen, wenn es sich um ein neues Problem wie in diesem Fall handelt.

    So wie ich Dich verstanden habe, müsste es wie folgt funktionieren:
    Code:
     
  11. Hallo Aloys,

    für das nächste Mal weiß ich Bescheid *wink.gif*

    Ich kann mich nur wiederholen, ich bin Dir sehr dankbar für Deine Mühen und Du hast mich sehr glücklich gemacht.

    Dir alles erdenklich Gute

    Liebe Grüße, Steven
     
Thema:

MsgBox wenn in Zeitintervall kein "x"

Die Seite wird geladen...
  1. MsgBox wenn in Zeitintervall kein "x" - Similar Threads - MsgBox Zeitintervall

  2. MsgBox mit Berechnung und Eintrag in Tabelle

    in Microsoft Access Hilfe
    MsgBox mit Berechnung und Eintrag in Tabelle: Moin moin liebe Formengemeinschaft. Nun bin ich schon das WWW am Durchsuchen und habe nichts passendes gefunden. Ausgangspostion: Ich habe eine Datenbank und überwache hier Daten mit einem...
  3. VBA: Mit MsgBox bestimmte Inhalte von Zeile leeren

    in Microsoft Excel Hilfe
    VBA: Mit MsgBox bestimmte Inhalte von Zeile leeren: Hallo Excel Freunde, ich habe in der Tabelle, Spalte A fortlaufende ID Nummern hinterlegt (1-200). Jetzt möchte den Inhalt (Zeile) z.B ID 180 leeren. Dabei soll nicht die ganze Zeile geleert...
  4. VBA-Code Arbeitsblatt wechseln

    in Microsoft Excel Hilfe
    VBA-Code Arbeitsblatt wechseln: Hallo zusammen, ich habe mal wieder eine Frage. Aktuell beschäftige ich mich mit VBA-Codes. Beim öffnen meiner Arbeitsmappe erscheint folgender Hinweis: Private Sub Workbook_Open() 'Titel Hinweis...
  5. MsgBox bei zwei Werten

    in Microsoft Excel Hilfe
    MsgBox bei zwei Werten: Hallo Zusammen, wenn ich im Bereich E2029:E200000 in eine Zelle Test1 eingebe kommt die MsgBox ohne Probleme. Wie muss man den Code ändern damit die Box auch kommt wenn ich Test2 eingebe?...
  6. MsgBox in Excel anzeigen lassen per Word VBA

    in Microsoft Word Hilfe
    MsgBox in Excel anzeigen lassen per Word VBA: Hallo zusammen, ich bin neu hier und versuche aktuell aus Word heraus eine Exceldatei zu öffnen. Das klappt auch alles schon wunderbar. Jetzt möchte ich gerne, wenn die Excel Datei geöffnet ist,...
  7. MsgBox Ja / Nein > Nein als Standard

    in Microsoft Excel Hilfe
    MsgBox Ja / Nein > Nein als Standard: Hallo nochmal Mit folgendem Code wird "verhindert" dass die gesperrten Zellen geändert werden. Nur nach Klick auf Ja oder Nein ist das möglich. Leider ist bei der MsgBox der JaButton als erstes...
  8. MsgBox bei fehlenden Wert im Adressfeld

    in Microsoft Access Hilfe
    MsgBox bei fehlenden Wert im Adressfeld: Hallo zusammen, ich stehe ein wenig auf dem Schlauch. Ich habe folgende Adressfelder. Straße Hausnummer PLZ Ort Leider schaffen es zurzeit viele Nutzer die PLZ oder die Hausnummer nicht...
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Auf dieser Website werden Cookies für die Zugriffsanalyse und Anzeigenmessung verwendet.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden