Msg-box nach Schleifen, erbitte eure Hilfe
01.12.2014 16:46:09
Michael
noch immer schleppe ich ein Problem mit mir rum, dass ich trotz Internet-Durchwühlung nicht lösen kann.
Datei: https://www.herber.de/bbs/user/94132.xls
Ein klick auf das Datum öffet eine PDF-Datei.
Der Pfad kann an 6 Steleln sein, diese Sheet "aGE".
Der PDF-Name besteht aus 2 Teilen. der erste Teil kann 8 verscheidene Zeichen haben, der zweite auch. anlle möglcien Zeichen trägt man an entsprechender Stelle ein und die PDF wird geöffnet, soweit vorhanden. Möglcih macht es die 3-fach-Schleifenprogrammierung, die alle Kombinationen durchläuft, bis eine passt.
Der Code sieht so aus und funktioneirt einwandfrei:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
'öffnet das Festern "Auswahl", wenn man auf ein Datum klickt
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim lngR As Long
Dim lngC As Long
lngR = ActiveCell.Row
lngC = ActiveCell.Column
If IsDate(Range(Cells(lngR, lngC), Cells(lngR, lngC))) = True Then
Call aufmachen
End If
End Sub
Private Sub aufmachen()
Dim lngR As Long
Dim lngC As Long
Dim PfadCol As Integer
Dim Teil_1Col As Integer
Dim Teil_2Col As Integer
lngR = ActiveCell.Row
lngC = ActiveCell.Column
For PfadCol = 4 To 9
For Teil_1Col = 4 To 11
For Teil_2Col = 4 To 11
Pfad = Sheets("aGE").Cells(PfadCol, 3).Value
Teil_1 = Sheets("aGE").Cells(12, Teil_1Col).Value
Teil_2 = Sheets("aGE").Cells(13, Teil_2Col).Value
auf_1 = "" & Pfad & "\" & Teil_1 & Teil_2 & ".pdf"
If Dir(auf_1) "" Then
ShellExecute 0, "open", auf_1, "", "", SHOWMAXIMIZED
Else
auf_2 = "" & Pfad & "\" & Teil_2 & Teil_1 & ".pdf"
If Dir(auf_2) "" Then
ShellExecute 0, "open", auf_2, "", "", SHOWMAXIMIZED
End If
End If
Next Teil_2Col
Next Teil_1Col
Next PfadCol
End Sub
Aber was ist, wenn der Pfad "auf_1" UND der Pfad "auf_2" kein Ergebnis liefern.
Dann soll eine MsgBox mit entsprechender MEldung aufgehen.
Als ich noch keine Schleifen hatte, konnte ich einfach folgendes schreiben:
else
msgbox "Fehler"
Leider funktioniert das nicht mehr, da sonst immer die
Fehlermedlung kommt oder nach jedem Variablenwechsel angezeigt wird.
Meine Frage an euch: Wie muss ich den Code ändern, damit nur 1x
eine Fehlermedlung angeezigt wird, wenn beide Pfade (auf_1 UND auf_2)
kein Ergebnis (PDF-öffnen) haben?
Schon jetzt ein Dank!
Michael