2016-07-01 14 views
0

1から500までの名前の範囲に基づいてExcelでドロップダウンリストを作成しました。ドロップダウンリストの最初に表示されている番号を別のセル(n)のユーザー入力番号に基づいて指定し、ドロップダウンリストでユーザーがnから1またはそれ以上にスクロールできるようにします現在、私のドロップダウンリストは常に1から始まります。数式やVBAは問題ありません。1からnまでのユーザー入力に基づいて動的ドロップダウンリストをExcel

私が参照しているExcelファイルのスクリーンショットを添付しました。セルB12は、列CDの名前付き範囲から1から500までの数値でデータの検証を行います。ユーザーは、セルB4に値を入力するセルH4に数値を入力します。ドロップダウンリストをこの番号(現在は200)から開始し、ユーザーがそこから上または下にスクロールできるようにします。現在、ドロップダウンリストは1から始まります。

ありがとうございます!

screenshot of the excel file

+0

いくつかのコードやスクリーンショットを提供できますか? – jellz77

+1

質問を理解するのが難しいです。たぶん、あなたは何を達成したいかを説明するためのサンプルデータやモックアップを持っているでしょうか? – Ralph

+0

スクリーンショットと説明が追加されました –

答えて

0

私はあなたがやろうとしているものを理解してい願っています。私が理解しているように、ユーザーはH4の値を1から500の間で設定します。ユーザーが入力する値はどれも、対応するドロップダウンを同等の値から開始しますが、依然として1から500の全範囲にアクセスできます。

私があなたが何をしようとしているのか理解していれば、必要なものはVBAマクロによって達成されます。

Private Sub Worksheet_Change(ByVal Target As Range) 

    If Not Intersect(Target, Me.Range("H4")) Is Nothing Then 
    Range("B12").value = Range("H4").value 
    End If 

End Sub 

このマクロは、モジュールではなくシートに直接適用されます。 [開発者]タブの[コードを表示]をクリックします。開いているプロジェクトウィンドウで、ワークシートをダブルクリックして、そのシートに固有のコードウィンドウを開き、アクティブにします。そこにコードを配置してください。

これをテストし、H4の値を変更するとB12も変更され、ドロップダウンのスクロールがその番号から始まることを確認しました。

+0

迅速な対応をありがとうございました。このコードをワークシートウィンドウに追加しましたが、スクロールはまだ1から始まり、ユーザーの入力番号ではありません。 –

関連する問題