|
VBA - Meldung beim Starten |
|
|
|
|
Geschrieben von: Marcus Rose
|
|
Sonntag, 12. April 2009 um 04:20 Uhr |
|
Hier kommt mal wieder ein VBA Beispiel, welches aus einer Frage in einem Forum resultiert. Es existierte der folgende Tabellenausschnitt: | | A | B | C | D | | 1 | Datum | Meldung 1 | Meldung 2 | Meldung 3 | | 2 | 01.04.2009 | x | | | | 3 | 02.04.2009 | | x | | | 4 | 03.04.2009 | | | x | | 5 | 04.04.2009 | x | | | | 6 | 05.04.2009 | | x | | | 7 | 06.04.2009 | | | x | | 8 | 07.04.2009 | x | | | | 9 | 08.04.2009 | | x | |
Nun soll beim Starten dieser Excel Tabelle automatisch auf das aktuelle Datum geprüft werden. Ist hinter dem aktuellen Datum (Spalte B bis D) zumindest ein "x" eingetragen, so soll sich eine MsgBox öffnen, welche die zugehörige Meldung in Reihe 1 wieder gibt. Existieren 2 oder 3 Einträge mit dem "x", so sollen auch diese Meldungen von der MsgBox angezeigt werden. Dazu wurde von meiner Seite dieses VBA Makro geschrieben, welches hinter Diese Arbeitsmappe gehört: Option Explicit
Private Sub Workbook_Open() Dim I As Long Dim cell As Range Dim MsgText As String Dim Schalter As Boolean With Worksheets("Tabelle1") For I = 2 To .Cells(Rows.Count, 1).End(xlUp).Row If .Cells(I, 1) = Date Then For Each cell In .Range(.Cells(I, 2), .Cells(I, 4)) If cell = "x" Then Schalter = True MsgText = MsgText & .Cells(1, cell.Column) & vbCrLf End If Next cell If Schalter Then MsgBox MsgText, vbInformation Exit Sub End If Next End With End Sub
|