AW: Gibt es Pop up o.ä. in Excel zur Terminerinner
26.09.2003 14:20:42
Reinhard
Hi Cristian,
ich kann ja auch kein VBA, ich brings mir learning by doing und googlen bei :-)
unten läuft die For n=-Schleife von 3 bis 7, also n ist erst 3, dann 4 dann...
beim Ausdruck cells(n,4) ist die Syntax cells(zeile,Spalte) ergo ist in der For n= Schleife cells(n,4) erst die zelle (3te zeile, 4te Spalte) also D3.
Deine Termine stehen aber nicht in D3:d7 sondern in q5:q10, also muss da die Schleife
cells(5,17), cells(6,17)usw durchlaufen,eergo musst du nur n=3 to7 in n=5 to 10 ändern.
analog zu den Wartungsnamen sie stehen nicht in b3:b7 sondern in d25:d30,
n läüft von 5-10 du brauchst 25-30 also erstezt du Cells(n,2) [=b3:b7] durch cells(n+20,4), probiers einfach
So, das war das eine, jetzt zur Vorwarnung, sie ist ja schon eingebaut als vorab-Variable. also lass die Routine zweimal laufen erst mit vorab=0 dann als vorab=2.
Ich denke so lernst du das besser und kannst eher anpassen wenn du was änderst in deiner Tab
Gruß
Reinhard
Option Explicit
Sub test()
Dim blatt As Worksheet
Dim Meldung As String '
Dim Vorab As Integer 'wieviele tage vorher
Dim n As Integer
Meldung = ""
Vorab = '0=heute
For Each blatt In Worksheets
For n = 3 To 7
If Date >= blatt.Cells(n, 4).Value - Vorab Then
Meldung = Meldung & blatt.Cells(n, 4).Value & blatt.Name _
& blatt.Cells(n, 2) & Chr(13)
End If
Next n
Next blatt
If Meldung <> "" Then
MsgBox "Folgende Wartungen sind durchzuführen: " & Chr(13) & Meldung
Else
MsgBox "Es stehen keine Wartungen an"
End If
Meldung = ""
Vorab = 'in 2 tagen
For Each blatt In Worksheets
For n = 3 To 7
If Date >= blatt.Cells(n, 4).Value - Vorab Then
Meldung = Meldung & blatt.Cells(n, 4).Value & blatt.Name _
& blatt.Cells(n, 2) & Chr(13)
End If
Next n
Next blatt
If Meldung <> "" Then
MsgBox "Folgende Wartungen sind binnen " & vorab & Tagen "durchzuführen: " & Chr(13) & Meldung
Else
MsgBox "Es stehen in " & Vorab & "keine Wartungen an"
End If
End Sub