Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Msgbox
#1
Hallo an Alle

kurz vorweg mein Wissen besteht aus zusammen suchen und es wissen wollen.
Excel 2010, Win7

Habe eine Datein mit einem Blatt bestehend aus 3 Spalten A,B,C

A= Name
B= Datum
C = Datum ermittelt mit Formel 6 Monate später

Möchte gerne nach dem Öffnen der Datei eine Msgbox angezeigt bekommen mit Name und Datum fällig aus Spalte C

Mein Code bis heute

Private Sub Workbook_Open()
Sheets("Deckblatt").Select
    msgbox "Wichtiger Hinweis Nachprüfungen stehen an", vbCritical, "ACHTUNG!!!"
    Dim strText As String
    strText = " wichtig !!!"
    Text = "Folgene Azubis müssen zur Nachprüfung:" & ActiveCell.Value
    msgbox Text, vbOKOnly, "Auflistung"

Meine erste MsgBox öffnet beim Anfang und erscheint, aber wie mache ich das mit dem Hinweis der Namen?

Danke für die Hilfe
artcreativity
Antworten Top
#2
Moin!
Was genau meinst Du mit "mit Name und Datum fällig aus Spalte C"?
Genaue Übereinstimmung mit dem Tagesdatum oder eher die nächsten sieben Tage?

Gruß Ralf
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. 
Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
Antworten Top
#3
Hi,

mein Testszenario:

Tabelle1

ABC
1NameDatumNachprüfung
2Azubi 102.02.201631.07.2016
3Azubi 202.04.201629.09.2016
4Azubi 315.03.201611.09.2016
5Azubi 415.04.201612.10.2016
6Azubi 506.06.201603.12.2016
7Azubi 602.01.201630.06.2016
8Azubi 718.01.201616.07.2016
Formeln der Tabelle
ZelleFormel
C2=B2+180
C3=B3+180
C4=B4+180
C5=B5+180
C6=B6+180
C7=B7+180
C8=B8+180

Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4.8

Der Code gehört hinter "Diese Arbeitsmappe":

Private Sub Workbook_Open()
Dim zm As Long
Dim Feld As Range
Dim Fällig As String

zm = Cells(Rows.Count, 1).End(xlUp).Row

For Each Feld In Range("C2", "C" & zm)
    If Feld.Value < Date Then
       Fällig = Fällig & Feld.Offset(0, -2) & " " & Feld.Value & vbNewLine
    End If
Next Feld

MsgBox "Nachprüfung fällig bei " & vbNewLine & Fällig
End Sub


VBA/HTML-CodeConverter, AddIn für Office 2002-2016 - in VBA geschrieben von Lukas Mosimann. Projektbetreuung:RMH Software & Media

Code erstellt und getestet in Office 16 - mit VBAHTML 12.6.0


Gruß
Ich
Antworten Top
#4
HalloIch,

erst einmal danke die Richtung stimme:

Wofür steht

(0, -2)
Vielen Dank den lieben Helfern!   

artcreativity


Merken
Antworten Top
#5
Moin!
Ergänzend, da 6 Monate nie 180 Tage sind:
=EDATUM(B2;6)
Die MsgBox anzuzeigen, wenn das Kind bereits in den Brunnen gefallen ist, halte ich für kontraproduktiv in Bezug auf Erhaltung des Arbeitsplatzes.  :21:
Deshalb meine Nachfrage in #2

Gruß Ralf
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. 
Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
Antworten Top
#6
Hi,

ich durchsuche die Zellen (Feld) in Spalte C.
Feld.Offset liefert einen Versatz zu dem gerade "angesprochenen" Feld.
(0, -2) bedeutet in der gleichen Zeile 2 Spalten nach links.
2 Spalten nach rechts wäre (0, 2).

Gruß 
Ich
Antworten Top
#7
(03.10.2016, 10:45)RPP63 schrieb: Moin!
Ergänzend, da 6 Monate nie 180 Tage sind:
=EDATUM(B2;6)
Die MsgBox anzuzeigen, wenn das Kind bereits in den Brunnen gefallen ist, halte ich für kontraproduktiv in Bezug auf Erhaltung des Arbeitsplatzes.  :21:
Deshalb meine Nachfrage in #2

Gruß Ralf

Ralf wieder  :19: :32:
Antworten Top
#8
Genau!  :05:
Und wenn ich schon beim Meckern bin:  :21:
Was nutzt so eine MsgBox?
Schreibt dann jemand den Inhalt ab?  :19:
Imo wäre es sehr viel sinnvoller, beim Mappenstart Spalte C aufsteigend zu sortieren und (gleichzeitig) eine bedingte Formatierung auf die Daten loszulassen:
Vergangenheit: rot
nächste zwei Wochen: orange
danach: grün oder nüscht

My two cents,

Ralf
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. 
Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
Antworten Top
#9
Hall an alle Helfer,

es handelt sich hierbei um reine interne Prüfung niemand verleirt seinen Job.

Natürlich habe ich meine Datei mit einer bedingten Formatierung versehen, sa dass es bunt wird.

Diese Msgbox soll bei der Öffnung die Namen und Datum anzeigen der Nachprüflinge und gleichzeitig wird eine Emal  an die entsprechende Person versendet.

Die Datei besteht aus mehreren Blättern mit vielen Daten.

Deshalb habe ich den Code geändert und auf das richtige Blatt zugegriffen.

Private Sub Workbook_Open()      'es erscheint eine MsgBox
Sheets("Prüflinge").Select
Dim zm As Long
Dim Feld As Range
Dim Fällig As String

zm = Cells(Rows.Count, 1).End(xlUp).Row

For Each Feld In Range("C2", "F" & zm)
    If Feld.Value < Date Then
       Fällig = Fällig & Feld.Offset(0, -2) & " " & Feld.Value & vbNewLine
    End If
Next Feld

msgbox "Nachprüfung fällig bei: " & vbNewLine & Fällig

Spalte A = Name
Spalte B= Vorname
Spalte C = P-Nr.
Spalte D = Interne Nr
Spalte E = Prüfdatum
Spalte F = =DATUM(JAHR(E2);MONAT(E2)+6;TAG(E2)) versehen mit bedingter Formatierung zur farbigen Darstellung

Habe nur 45 Prüflinge, also A1:A45

Leider zeigt der Code noch die falsche Spalte für den Namen an.

Wenn ich C2 ändere in A2 kommt Laufzeitfehler.Also habe ich einen Denkfehler und bitte doch nochmal um Hilfe.
Möchte doch gerne alles verstehen und endlich dazu lernen.
Vielen Dank den lieben Helfern!   

artcreativity


Merken
Antworten Top
#10
Mahlzeit!
Zitat:Diese Msgbox soll bei der Öffnung die Namen und Datum anzeigen der Nachprüflinge und gleichzeitig wird eine Emal  an die entsprechende Person versendet.
Wie soll das geschehen?
VBA?
Welches Mail-Programm?

(Ich mag Salami nur auf Brot oder Pizza, aber nicht als Taktik)

Zitat:Wenn ich C2 ändere in A2 kommt Laufzeitfehler.
Logo!
Du hast doch die Code-Erklärung von "Ich" bereits erhalten:
Es gibt keine Spalte links neben A
Willst Du wirklich auf einmal einen Bereich über 4 Spalten überwachen?
Wie wäre es mit einer anonymisierten Datei?

Gruß Ralf
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. 
Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
Antworten Top


Gehe zu:


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