2017-06-28 109 views
0

我有一個ComboBox,它可以搜索確定的範圍並替換所有公式中的內容。例如:基於ComboBox值更改公式內容

從組合框當前值是 「MAI」

=COUNTIFS('CNAEs Inválidos MAI'!A:A;C8)

用戶從ComboBox值 「JUN」 和VBA函數選擇它代替到:

=COUNTIFS('CNAEs Inválidos JUN'!A:A;C8)

搜索和替換隻能工作一次,因爲我無法從ComboBox獲取當前值進行搜索。

到目前爲止,這是我:

Option Explicit 

Private Sub ComboBox1_Change() 
Range("A1:R53").Select 
    Selection.Replace What:=ComboBox1.Value, Replacement:=ComboBox1.Value, LookAt:=xlPart, _ 
     SearchOrder:=xlByRows, MatchCase:=False 
     Range("A1").Select 
End Sub 

有沒有辦法讓組合框電流值和組合框新的選擇值?

+0

查看'INDIRECT'工作表函數第一個= COUNTIFS(INDIRECT(「'CNAEsInválidos」&combo value&''!A:A「; C8)' –

+0

謝謝你的幫助Nathan,I請嘗試另一個問題:如何在不使用vb​​a的情況下獲得ActiveX ComboBox值?'組合值'有效嗎? –

+0

@RafaelTorres - 如果您想提出另一個問題,請繼續並提出新問題:) –

回答

0

看那INDIRECT工作表函數第一=COUNTIFS(INDIRECT("'CNAEs Inválidos " & combo value & "'!A:A";C8)沿着這些線路

0

你需要一個ActiveX ComboBox本身?

改爲使用Form control代替。 在Form控件格式中,設置Input Range和and Output單元格。 輸入範圍將顯示文本值(MAI,JUN等) 輸出單元格將在下拉菜單中顯示選定的索引(1,2等)。

在查找函數中使用輸出單元格值以從輸入範圍中再次獲取文本值。然後使用Indirect公式來獲得您所得到的結果公式。