2017-06-28 8 views
0

私は、決められた範囲を検索し、すべての数式の内容を置き換えるComboBoxを持っています。例:ComboBoxの値に基づいて数式の内容を変更する

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

コンボボックスから現在の値が "MAI"

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

ユーザーが値 "6月" とVBA関数がそれを置き換えるコンボボックスから選択しています

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 

ComboBoxの現在値およびコンボボックスの新しい選択された値を取得する方法があります:

は、これまでのところ、これは私が持っているものでしょうか?これらの線に沿って

+0

これらの行に沿って最初の '= COUNTIFS(間接(" CNAEsInválidos "&コンボ値&" '!A:A "; C8)'を見てください –

+0

ありがとうNathan、私もう一度質問してください:vbaを使用せずにActiveXコンボボックスの値を取得するにはどうすればいいですか 'コンボ値'はどうですか? –

+0

@RafaelTorres - 別の質問をしたい場合は、新しい質問を開始してください:) –

答えて

0

INDIRECTワークシート関数を見最初=COUNTIFS(INDIRECT("'CNAEs Inválidos " & combo value & "'!A:A";C8)

0

あなたはActiveX ComboBox自体が必要ですか?

代わりにForm controlを使用してください。 フォームコントロールの書式設定で、入力範囲と出力セルを設定します。 入力範囲にテキスト値(MAI、JUNなど)が表示されます 出力セルには、選択したインデックス(1、2など)がドロップダウンに表示されます。

ルックアップ関数で出力セル値を使用して、入力範囲からテキスト値を再度取得します。その後、Indirect数式を使用して、結果として得られる数式を取得します。

関連する問題