0

除非 Station2 中没有数据,否则此宏非常有效。宏分为三个部分:Station1、Station2 和 Station3。我希望它像下面那样运行,但如果 Station2 中没有任何内容,则跳到最后。然后我也可以为 Station3 的部分重复该行。

Sub PTPMLRs()
Dim MyHost As Object
Dim HE As Object
Set HE = CreateObject("HostExplorer")
Set MyHost = HE.CurrentHost
Dim RC As Integer

Dim Lsheet As Worksheet
Set Lsheet = ThisWorkbook.Worksheets("PTPMLRs")


Dim Station1 As String
Dim Station1Loc As Range

Dim Station2 As String
Dim Station2Loc As Range

Dim Station3 As String
Dim Station3Loc As Range

Dim DestinationE As String
Dim DestinationELoc As Range

Dim DestinationN As String
Dim DestinationNLoc As Range

Dim DestinationA As String
Dim DestinationALoc As Range

Dim Vehicle As String
Dim VehicleLoc As Range

Dim AllVeh As String
Dim AllVehLoc As Range

Dim BeginDate As String
Dim BeginDateLoc As Range

Dim EndDate As String
Dim EndDateLoc As Range

Dim BeginTime As String
Dim BeginTimeLoc As Range

Dim EndTime As String
Dim EndTimeLoc As Range

Dim Inv As String
Dim InvLoc As Range

Dim Mlr As String
Dim MlrLoc As Range

Set Station1Loc = Lsheet.Range("I6")
Set Station2Loc = Lsheet.Range("M6")
Set Station3Loc = Lsheet.Range("Q6")

Set DestinationELoc = Lsheet.Range("I8")
Set DestinationNLoc = Lsheet.Range("M8")
Set DestinationALoc = Lsheet.Range("Q8")

Set VehicleLoc = Lsheet.Range("E6")
Set AllVehLoc = Lsheet.Range("E8")
Set BeginDateLoc = Lsheet.Range("E10")
Set EndDateLoc = Lsheet.Range("E12")
Set BeginTimeLoc = Lsheet.Range("E14")
Set EndTimeLoc = Lsheet.Range("E16")
Set InvLoc = Lsheet.Range("E18")
Set MlrLoc = Lsheet.Range("E20")

     Station1 = Station1Loc.Value
     Station2 = Station2Loc.Value
     Station3 = Station3Loc.Value

     DestinationE = DestinationELoc.Value
     DestinationN = DestinationNLoc.Value
     DestinationA = DestinationALoc.Value




     RC = MyHost.Runcmd("pF2")
     RC = MyHost.keys(Station1)
     RC = MyHost.Runcmd("pF3")
     RC = MyHost.Runcmd("TAB")
     RC = MyHost.Runcmd("TAB")
     RC = MyHost.Runcmd("TAB")



     Do Until DestinationELoc.Value = ""

     Vehicle = VehicleLoc.Value
     AllVeh = AllVehLoc.Value
     BeginDate = BeginDateLoc.Value
     EndDate = EndDateLoc.Value
     BeginTime = BeginTimeLoc.Value
     EndTime = EndTimeLoc.Value
     Inv = InvLoc.Value
     Mlr = MlrLoc.Value




     RC = MyHost.Runcmd("pF2")
     RC = MyHost.keys(DestinationE)
     RC = MyHost.Runcmd("pF3")
     RC = MyHost.Runcmd("PAGE-DOWN")
     RC = MyHost.Runcmd("INSERT-HERE")
     RC = MyHost.Runcmd("TAB")
     RC = MyHost.Runcmd("TAB")
     RC = MyHost.keys(Vehicle)
     RC = MyHost.Runcmd("TAB")
     RC = MyHost.keys(BeginDate)
     RC = MyHost.Runcmd("TAB")
     RC = MyHost.keys(EndDate)
     RC = MyHost.Runcmd("PAGE-DOWN")
     RC = MyHost.keys(BeginTime)
     RC = MyHost.Runcmd("TAB")
     RC = MyHost.keys(EndTime)
     RC = MyHost.Runcmd("TAB")
     RC = MyHost.keys(Inv)
     RC = MyHost.Runcmd("TAB")
     RC = MyHost.keys(Mlr)
     RC = MyHost.Runcmd("pF4")
     RC = MyHost.keys(AllVeh)
     RC = MyHost.Runcmd("ENTER")
     RC = MyHost.Runcmd("ENTER")
     RC = MyHost.Runcmd("PAGE-UP")
     RC = MyHost.Runcmd("PAGE-UP")



        Set DestinationELoc = DestinationELoc.Offset(2, 0)
        DestinationE = DestinationELoc.Value



Loop

     RC = MyHost.Runcmd("PAGE-UP")
     RC = MyHost.Runcmd("pF2")
     RC = MyHost.keys(Station2)
     RC = MyHost.Runcmd("pF3")
     RC = MyHost.Runcmd("TAB")
     RC = MyHost.Runcmd("TAB")
     RC = MyHost.Runcmd("TAB")

     Do Until DestinationNLoc.Value = ""

     Vehicle = VehicleLoc.Value
     AllVeh = AllVehLoc.Value
     BeginDate = BeginDateLoc.Value
     EndDate = EndDateLoc.Value
     BeginTime = BeginTimeLoc.Value
     EndTime = EndTimeLoc.Value
     Inv = InvLoc.Value
     Mlr = MlrLoc.Value




     RC = MyHost.Runcmd("pF2")
     RC = MyHost.keys(DestinationN)
     RC = MyHost.Runcmd("pF3")
     RC = MyHost.Runcmd("PAGE-DOWN")
     RC = MyHost.Runcmd("INSERT-HERE")
     RC = MyHost.Runcmd("TAB")
     RC = MyHost.Runcmd("TAB")
     RC = MyHost.keys(Vehicle)
     RC = MyHost.Runcmd("TAB")
     RC = MyHost.keys(BeginDate)
     RC = MyHost.Runcmd("TAB")
     RC = MyHost.keys(EndDate)
     RC = MyHost.Runcmd("PAGE-DOWN")
     RC = MyHost.keys(BeginTime)
     RC = MyHost.Runcmd("TAB")
     RC = MyHost.keys(EndTime)
     RC = MyHost.Runcmd("TAB")
     RC = MyHost.keys(Inv)
     RC = MyHost.Runcmd("TAB")
     RC = MyHost.keys(Mlr)
     RC = MyHost.Runcmd("pF4")
     RC = MyHost.keys(AllVeh)
     RC = MyHost.Runcmd("ENTER")
     RC = MyHost.Runcmd("ENTER")
     RC = MyHost.Runcmd("PAGE-UP")
     RC = MyHost.Runcmd("PAGE-UP")



        Set DestinationNLoc = DestinationNLoc.Offset(2, 0)
        DestinationN = DestinationNLoc.Value

Loop

     RC = MyHost.Runcmd("PAGE-UP")
     RC = MyHost.Runcmd("pF2")
     RC = MyHost.keys(Station3)
     RC = MyHost.Runcmd("pF3")
     RC = MyHost.Runcmd("TAB")
     RC = MyHost.Runcmd("TAB")
     RC = MyHost.Runcmd("TAB")

     Do Until DestinationALoc.Value = ""

     Vehicle = VehicleLoc.Value
     AllVeh = AllVehLoc.Value
     BeginDate = BeginDateLoc.Value
     EndDate = EndDateLoc.Value
     BeginTime = BeginTimeLoc.Value
     EndTime = EndTimeLoc.Value
     Inv = InvLoc.Value
     Mlr = MlrLoc.Value




     RC = MyHost.Runcmd("pF2")
     RC = MyHost.keys(DestinationA)
     RC = MyHost.Runcmd("pF3")
     RC = MyHost.Runcmd("PAGE-DOWN")
     RC = MyHost.Runcmd("INSERT-HERE")
     RC = MyHost.Runcmd("TAB")
     RC = MyHost.Runcmd("TAB")
     RC = MyHost.keys(Vehicle)
     RC = MyHost.Runcmd("TAB")
     RC = MyHost.keys(BeginDate)
     RC = MyHost.Runcmd("TAB")
     RC = MyHost.keys(EndDate)
     RC = MyHost.Runcmd("PAGE-DOWN")
     RC = MyHost.keys(BeginTime)
     RC = MyHost.Runcmd("TAB")
     RC = MyHost.keys(EndTime)
     RC = MyHost.Runcmd("TAB")
     RC = MyHost.keys(Inv)
     RC = MyHost.Runcmd("TAB")
     RC = MyHost.keys(Mlr)
     RC = MyHost.Runcmd("pF4")
     RC = MyHost.keys(AllVeh)
     RC = MyHost.Runcmd("ENTER")
     RC = MyHost.Runcmd("ENTER")
     RC = MyHost.Runcmd("PAGE-UP")
     RC = MyHost.Runcmd("PAGE-UP")



        Set DestinationALoc = DestinationALoc.Offset(2, 0)
        DestinationA = DestinationALoc.Value

Loop

     RC = MyHost.Runcmd("PAGE-UP")
     RC = MyHost.Runcmd("pF2")

End Sub
4

1 回答 1

0

您应该能够将 if 语句与 goto 语句结合使用。

于 2013-08-02T15:56:41.727 回答