首页 > 解决方案 > 为什么激活的工作簿没有保持激活状态?

问题描述

我是 VBA 新手,所以请耐心等待。我有两个 Excel 工作簿。从一开始我想双击组合框的设置值并激活第二个。首先,我在双击时触发事件

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)

    OpenRouteMode Target

    Workbooks("IXPlanner.xlsm").Activate

End Sub

在 OpenRouteMode 我这样做:

Private Sub OpenRouteMode(ByVal Target As Range)

    Dim WrkBk As Workbook

    Dim column As Integer, row As Integer

    column = Target.column
    row = Target.row

    'Workbook
    Set WrkBk = Workbooks("IXPlanner.xlsm")
    'Calling sub in sheet
    WrkBk.Worksheets("IXSheet").SetFromAndToCombo Cells(row, 3).value, Cells(row, 4).value

    Exit Sub
End Sub

在 IXPlanner.xlsm 我是这样设置值

Public Sub SetFromAndToCombo(ByVal fromDepotCode As String, ByVal toDepotCode As String)

    Dim fromDepot As Variant, toDepot As Variant

    Dim DataSheet As Worksheet
    Set DataSheet = ThisWorkbook.Sheets("Data")
    'Get value
    fromDepot = Application.VLookup(fromDepotCode, DataSheet.Range("P1:R100"), 3, 0)
    toDepot = Application.VLookup(toDepotCode, DataSheet.Range("P1:R100"), 3, 0)
    'Set value
    PreventComboboxChange = True
    ActiveSheet.FromSelector.value = fromDepot
    PreventComboboxChange = False
    ActiveSheet.ToSelector.value = toDepot

    Exit Sub
End Sub

问题是,当我触发事件时,IXPlanner 被激活设置值,然后原始工作簿被激活。我希望 IXPlanner 保持激活状态。我不知道为什么,但即使使用快捷键事件也是如此。

谢谢你的建议。

标签: excelvba

解决方案


推荐阅读