メインコンテンツへスキップ
 

ExcelのXNUMXつのリストボックス間でアイテムをすばやく移動するにはどうすればよいですか?

作者: サン 最終更新日:2024年08月15日

以下のスクリーンショットに示すように、必要に応じてアイテムをXNUMXつのリストボックスから別のリストボックスに移動しようとしたことがありますか? ここでは、Excelでのこの操作について説明します。

アイテムを移動する前のリストボックスを示すスクリーンショット 矢印のスクリーンショット アイテムを移動した後のリストボックスを示すスクリーンショット

リストボックス間でアイテムを移動する


リストボックス間でアイテムを移動する

仕事を終えるのに役立つ組み込み関数はありませんが、VBAコードで問題を解決できます。

1.まず、次のような新しいシートのリストボックスに項目として表示されるデータのリストを作成する必要があります。 admin_lists.

ソースデータのスクリーンショット

2.次に、これらのデータを選択して、 名前 それらに名前を付けるためのボックス アイテムリスト。 スクリーンショットを参照してください:

名前ボックスでソースデータに名前を付けるスクリーンショット

3.次に、XNUMXつのリストボックスを含むシートで、をクリックします。 Developer > インセット > リストボックス(ActiveXコントロール)、およびXNUMXつのリストボックスを描画します。 スクリーンショットを参照してください:

開発タブのリストボックスコントロールを選択したスクリーンショット 右矢印のスクリーンショット 作成された 2 つのリスト ボックスを示すスクリーンショット

Status Developer タブはあなたのリボンを隠しています、 Excel 2007/2010/2013リボンで開発者タブを表示/表示するにはどうすればよいですか? この記事では、それを表示する方法を説明します。

4。 次に、をクリックします Developer > インセット > コマンドボタン(ActiveXコントロール)、およびXNUMXつのリストボックスの間にXNUMXつのボタンを描画します。 スクリーンショットを参照してください:

コマンドボタンコントロールを選択したスクリーンショット 右矢印のスクリーンショット 1 作成されたコマンドボタンを示すスクリーンショット

次に、XNUMXつのコマンドボタンの名前を新しい名前に変更します。

5.最初のコマンドボタンを選択し、をクリックします プロパティ、そして プロパティ ペイン、名前を付けます btn_moveallight それに、そしてタイプ >> 横のテキストボックスに キャプション。 スクリーンショットを参照してください:

コマンドボタンのプロパティを変更する方法を示すスクリーンショット

6.手順5を繰り返して、最後のXNUMXつのコマンドボタンの名前を以下の名前に変更し、キャプションに別の矢印を入力します。 スクリーンショットを参照してください:

BTN_MoveSelectedRight

BTN_MOVEALLLEFT.

BTN_MoveSelectedLeft

プロパティを変更した後の2番目のコマンドボタンのスクリーンショット プロパティを変更した後の3番目のコマンドボタンのスクリーンショット プロパティを変更した後の4番目のコマンドボタンのスクリーンショット

7.リストボックスとコマンドボタンが含まれているシート名を右クリックして、 コードを表示 コンテキストメニューから。 スクリーンショットを参照してください:

VBA コード エディターを開いたスクリーンショット

8.以下のマクロコードをコピーして、 モジュール スクリプトを保存し、コードを閉じます アプリケーション向け Microsoft Visual Basic 窓。 スクリーンショットを見る

VBA:XNUMXつのリストボックス間でアイテムを移動する

Private Sub Worksheet_Activate()
'UpdatebyExtendoffice20171117
    Dim xCell As Range
    Dim xRg As Range
    Set xRg = Sheets("Admin_Lists").Range("ItemList")
    Me.ListBox1.Clear
    Me.ListBox2.Clear
    With Me.ListBox1
        .LinkedCell = ""
        .ListFillRange = ""
        For Each xCell In xRg
            If xCell <> "" Then
                .AddItem xCell.Value
            End If
        Next xCell
    End With
    Me.ListBox1.MultiSelect = fmMultiSelectMulti
    Me.ListBox2.MultiSelect = fmMultiSelectMulti
End Sub

Private Sub BTN_MoveSelectedLeft_Click()
    Call moveSigle(Me.ListBox2, Me.ListBox1)
End Sub

Private Sub BTN_MoveSelectedRight_Click()
    Call moveSigle(Me.ListBox1, Me.ListBox2)
End Sub

Private Sub BTN_moveAllLeft_Click()
    Call moveAll(Me.ListBox2, Me.ListBox1)
End Sub

Private Sub BTN_moveAllRight_Click()
    Call moveAll(Me.ListBox1, Me.ListBox2)
End Sub

Sub moveAll(xListBox1 As Object, xListBox2 As Object)
    Dim I As Long
    For I = 0 To xListBox1.ListCount - 1
        xListBox2.AddItem xListBox1.List(I)
    Next I
    xListBox1.Clear
End Sub

Sub moveSigle(xListBox1 As Object, xListBox2 As Object)
    Dim I As Long
    For I = 0 To xListBox1.ListCount - 1
        If I = xListBox1.ListCount Then Exit Sub
        If xListBox1.Selected(I) = True Then
            xListBox2.AddItem xListBox1.List(I)
            xListBox1.RemoveItem I
            I = I - 1
        End If
    Next
End Sub

VBAコードの使用方法を示すスクリーンショット

9.次に、別のシートに移動してから、リストボックスが含まれているシートに戻ります。これで、リストデータが最初のXNUMXつのリストボックスにリストされていることがわかります。 そして、コマンドボタンをクリックして、XNUMXつのリストボックス間でアイテムを移動します。

VBA コードを実行した後、1 つのリスト ボックスにソース データを表示するスクリーンショット

選択範囲を移動

リストボックスから別のリストボックスにアイテムを 1 つずつ移動するスクリーンショット 矢印のスクリーンショット 2 つの項目が右側のリスト ボックスに移動されたことを示すスクリーンショット

すべて移動

すべての項目を 1 つのリストから別のリストに同時に移動するために使用できるコマンド ボタンをマークするスクリーンショット 矢印2のスクリーンショット すべての項目が同時に 1 つのリスト ボックスから別のリスト ボックスに移動されることを示すスクリーンショット

最高のオフィス生産性向上ツール

🤖 Kutools AI アシスタント: 以下に基づいてデータ分析に革命をもたらします。 インテリジェントな実行   |  コードを生成  |  カスタム数式の作成  |  データを分析してグラフを生成する  |  Kutools関数を呼び出す...
人気の機能: 重複を検索、強調表示、または識別する   |  空白行を削除する   |  データを失わずに列またはセルを結合する   |   数式なしのラウンド ...
スーパールックアップ: 複数の基準の VLookup    複数の値の VLookup  |   複数のシートにわたる VLookup   |   ファジールックアップ ....
詳細ドロップダウン リスト: ドロップダウンリストを素早く作成する   |  依存関係のドロップダウン リスト   |  複数選択のドロップダウンリスト ....
列マネージャー: 特定の数の列を追加する  |  列の移動  |  Toggle 非表示列の表示ステータス  |  範囲と列の比較 ...
注目の機能: グリッドフォーカス   |  デザインビュー   |   ビッグフォーミュラバー    ワークブックとシートマネージャー   |  リソースライブラリ (自動テキスト)   |  日付ピッカー   |  ワークシートを組み合わせる   |  セルの暗号化/復号化    リストごとにメールを送信する   |  スーパーフィルター   |   特殊フィルター (太字/斜体/取り消し線をフィルター...) ...
上位 15 のツールセット12 テキスト ツール (テキストを追加, 文字を削除する、...)   |   50+ チャート 種類 (ガントチャート、...)   |   40+ 実用的 (誕生日に基づいて年齢を計算する、...)   |   19 挿入 ツール (QRコードを挿入, パスから画像を挿入、...)   |   12 変換 ツール (数字から言葉へ, 通貨の換算、...)   |   7 マージ&スプリット ツール (高度な結合行, 分割セル、...)   |   ... もっと

Kutools for Excel で Excel スキルを強化し、これまでにない効率を体験してください。 Kutools for Excelは、生産性を向上させ、時間を節約するための300以上の高度な機能を提供します。  最も必要な機能を入手するにはここをクリックしてください...


Officeタブは、タブ付きのインターフェイスをOfficeにもたらし、作​​業をはるかに簡単にします

  • Word、Excel、PowerPointでタブ付きの編集と読み取りを有効にする、パブリッシャー、アクセス、Visioおよびプロジェクト。
  • 新しいウィンドウではなく、同じウィンドウの新しいタブで複数のドキュメントを開いて作成します。
  • 生産性を 50% 向上させ、毎日何百回もマウス クリックを減らすことができます!