Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
372to376
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
372to376
372to376
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Makro erweiterung

Makro erweiterung
30.01.2004 13:42:54
Jürgen
Hallo Forum,
Habe dieses Makro, das ich gerne erweitern möchte.
Makro zeigt mir Terminerinnerung an ( Datum steht in Spalte D.
möchte nun noch die Spalten E-N mit Datums hinzufügen
Wie ist das Makro zuerweitern so das mir je zusätzlicher Spalte eine Abfrage mit jeweliger MSGBox pro Spalte ( wenn Datum fällig ) angezeigt wird.


Sub Termin()
Dim nam As String
Dim Datum1 As Date, z
z = 3
Datum1 = Format(Now(), "dd.mm.yy")
Do While Cells(z, 3) <> ""
nTage = Cells(z, 4) - Datum1
If nTage >= 1 And nTage <= 28 Then _
MsgBox "Achtung ! Es steht ein Bahnarzttermin mit Herr/Frau " & (Cells(z, 2)) & " " & (Cells(z, 3)) & " am " & Cells(z, 4) & "." & vbCr & _
"Bis dahin sind es noch " & nTage & " Tage."
z = z + 1
Loop
End Sub

Gruss und Danke
Jürgen

10
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Makro erweiterung
30.01.2004 13:52:56
Alex k.
Hallo Jürgen,
wenn die Abfrage und MEldung gleich bleiben, dann kannst du es so lösen:

Sub Termin()
Dim nam As String
Dim Datum1 As Date, z as long
dim col as long
z = 3
Datum1 = Format(Now(), "dd.mm.yy")
Do While Cells(z, 3) <> ""
for col = 4 to 14 'D bis N
nTage = Cells(z, col) - Datum1
If nTage >= 1 And nTage <= 28 Then _
MsgBox "Achtung ! Es steht ein Bahnarzttermin mit Herr/Frau " & (Cells(z, 2)) & " " & (Cells(z, 3)) & " am " & Cells(z, 4) & "." & vbCr & _
"Bis dahin sind es noch " & nTage & " Tage."
next col
z = z + 1
Loop
End Sub

AW: Makro erweiterung
30.01.2004 15:08:54
Jürgen
Hallo Alex
Nein Abfrage oder Meldung müssten sich auf die jeweilige Spalte wo Datum ansteht beziehen. Das heißt Spalte D = Termin A dann MSG Box Termin am,? mit A
Spalte E = Termin B dann MSGBox Termin am, ? mit B u.s.w
Gruss Jürgen
Anzeige
AW: Makro erweiterung
30.01.2004 15:14:36
Alex K.
HAllo Jürgen,
genau das macht mein Makro. Hatte nur vergessen in der MsgBox den Termin anzupassen.
Allso

MsgBox "Achtung ! Es steht ein Bahnarzttermin mit Herr/Frau " & (Cells(z, 2)) & " " & (Cells(z, 3)) & " am " & Cells(z, col) & "." & vbCr & _
"Bis dahin sind es noch " & nTage & " Tage."

Müßte klappen.
AW: Makro erweiterung
30.01.2004 15:57:09
Jürgen
Hallo Alex
Hab dein Makro mal eingebaut, bekomme wenn ich Datei öffne folgende Fehlermeldung:
Laufzeitfehler 13 " Typen unverträglich" nTage = Cells(z, col) - Datum1
Woran kann das noch liegen???
Gruss Jürgen
Anzeige
AW: Makro erweiterung
30.01.2004 16:02:32
Alex K.
Hallo Jürgen,
liegt daran, dass nicht in allen Zellen E bis N ein Datum steht.
Versuche es mal damit.

Sub Termin()
Dim nam As String
Dim Datum1 As Date, z as long
dim col as long
z = 3
Datum1 = Format(Now(), "dd.mm.yy")
Do While Cells(z, 3) <> ""
for col = 4 to 14 'D bis N
if IsDate(Cells(z, col) then
nTage = Cells(z, col) - Datum1
If nTage >= 1 And nTage <= 28 Then _
MsgBox "Achtung ! Es steht ein Bahnarzttermin mit Herr/Frau " & (Cells(z, 2)) & " " & (Cells(z, 3)) & " am " & Cells(z, 4) & "." & vbCr & _
"Bis dahin sind es noch " & nTage & " Tage."
end if
next col
z = z + 1
Loop
End Sub

Anzeige
AW: Makro erweiterung
30.01.2004 16:18:58
Jürgen
Hallo Alex
Nun bekomme ich diese Fehlermeldung:
Fehler beim Kompilieren Syntaxfehler (if IsDate(Cells(z, col) then)
Gruss Jürgen
AW: Makro erweiterung
30.01.2004 16:21:46
Alex K.
Hallo Jürgen,
leider ein Flüchtigkeitsfehler von mir.
Richtig muss es heisen:

if IsDate(Cells(z, col)) then

Aber ein bisschen Denken darfst du auch :-)
AW: Makro erweiterung
30.01.2004 16:36:48
Jürgen
Hallo Alex
Tschuldigung hab aber leider keine grosse Ahnung von VBA. Halt Anfänger!
Jetzt funktioniert es mit der Terminabfrage von Spalte d - N.
Wie ich aber beschrieben habe müßte ich aber in einer MSG BOx PRO Spalte angezeigt haben was für ein Termin ansteht? habe verschiedene Termine Spalte A Bahnarzt, Spalte B Nachschulung, Spalte C Psychologischer Test u.s.w
Ist da auch noch was möglich???
Gruss und dank dir
Jürgen
Anzeige
AW: Makro erweiterung
30.01.2004 16:51:15
Alex K.
Hallo Jürgen,
ist kein Problem, wir haben alle mal angefangen.
Leider hast du nicht beschrieben, wo die Bezeichnung "Bahnartz" etc. für die jeweiligen Termin steht. Ich gehe mal davon aus, diese stehen in der ersten Zeile.
Also würde die Meldung so aussehen:

MsgBox "Achtung ! Es steht ein " & Cells(1, col) & " mit Herr/Frau " & (Cells(z, 2)) & " " & (Cells(z, 3)) & " am " & Cells(z, 4) & "." & vbCr & _
"Bis dahin sind es noch " & nTage & " Tage."

kann nun sein, dass die Meldung etwas "komisch" aussieht. Wenn ja, dann halt einfach die Spalteüberschrift anpassen z.B. von "Bahnarzt" nach "Bahnarzttermin" etc.
Falls es dies noch nicht ist, dann beschreibe doch mal genau, in welcher Spalte / Zeile welcher Wert steht und welche Meldungen kommen sollen!!! Am besten mit Beispielen bzw. du kannst auch deine Excel-Datei auf den Server laden und Link hier reinstellen. Dann kann ich mir das mal anschauen. Ansonsten sitzen wir morgen noch hier und fummeln :-)
Anzeige
AW: Makro erweiterung
30.01.2004 18:07:49
Jürgen
Hallo Alex,
Super jetzt hat es geklappt,hat ein bisschen gedauert da ich immer falsche Termine angezeigt bekommen habe musste Cells(z, 4)wieder in Cells(z, col) umbenennen.
Jetzt läuft es so wie ich es haben wollte.
Danke dir für deine Mühe und Arbeit.
Beste Grüsse
Jürgen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige