ich hoffe ich kann meine Frage verständlich erklären:
Ich Programmiere ein Makro, der Werte in die Tabellen eintragen soll nach mehreren Abfragen. Da mein Programm zu groß war, musste ich das Programm aufeilen in verschiedenen Modulen:
Call Mpltz1AT700(zg, zh)
End Sub
Sub Mpltz1AT700(zg As Long, zh As Range)
Klappt auch an sich super. Ich möchte, dass das unterprogramm auch die IF anweisungen des " _
Oberprogramms" aufnimmt, da es ein fortlaufendes Programm ist. Das tut er leider nicht. In _
Vereinfachte/gekürzte Version mein Programm:
Mpltz = InputBox(" Messplatz Nummer: ", "Eingabe") '' Abfrage
Gerät = InputBox("Welches Gerät benötigen Sie? ", "Eingabe")
If Gerät = "at1000" Or Gerät = "AT1000" Or Gerät = "At1000" Then
Kopf1 = MsgBox("Benutzen Sie den DD45?", vbYesNo)
Kopf2 = MsgBox("Benutzen Sie den AT1350?", vbYesNo)
........
End If
'' weitergabe von Variabeln, da Programm zu groß
Call Mpltz5AT1000(.......zg, zh)
End If
End Sub
Sub Mpltz5AT1000(...... zg As Long, zh As Range)
If Kopf1 = vbYes And Mpltz = 5 And Kopf2 = vbYes Then
.......
Call Mpltz1AT700(.....zg, zh)
End Sub
Sub Mpltz1AT700(...... zg As Long, zh As Range)
Dim HDA280
Dim HDA300
Dim Ear
ElseIf Gerät = "at700" Or Gerät = "AT700" Or Gerät = "At700" Then
......
Und hier ist mein Problem: Das Programm erkennt das ElseIf nicht vom Gerät und erkennt nur das _
_
erste If vom Gerät. Im ersten Oberprogramm werde ich immer aufgefordert ein EndIf zu setzten _
obwohl ich nicht möchte, dass die erste Bedingung vom "Gerät" endet. Er soll noch in den Unterprogrammen danach fragen. Als groben Überblick: Ich habe 3 Abfragen die im Oberprogramm für alle Unterprogramme gelten sollen