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

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

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

リストボックス1間でアイテムを移動するドキュメント 右矢印ドキュメント リストボックス2間でアイテムを移動するドキュメント

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


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

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

1.まず、次のような新しいシートのリストボックスに項目として表示されるデータのリストを作成する必要があります。 admin_lists.
リストボックス3間でアイテムを移動するドキュメント

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

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

リストボックス5間でアイテムを移動するドキュメント 右矢印ドキュメント リストボックス6間でアイテムを移動するドキュメント

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

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

リストボックス7間でアイテムを移動するドキュメント 右矢印ドキュメント リストボックス8間でアイテムを移動するドキュメント

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

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

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

BTN_MoveSelectedRight

BTN_MOVEALLLEFT.

BTN_MoveSelectedLeft

リストボックス10間でアイテムを移動するドキュメント リストボックス11間でアイテムを移動するドキュメント リストボックス12間でアイテムを移動するドキュメント

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

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

 リストボックス14間でアイテムを移動するドキュメント

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

選択範囲を移動

リストボックス16間でアイテムを移動するドキュメント 右矢印ドキュメント リストボックス17間でアイテムを移動するドキュメント

すべて移動

リストボックス18間でアイテムを移動するドキュメント 右矢印ドキュメント リストボックス19間でアイテムを移動するドキュメント

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

🤖 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% 向上させ、毎日何百回もマウス クリックを減らすことができます!
Comments (1)
No ratings yet. Be the first to rate!
This comment was minimized by the moderator on the site
My excel becomes unresponsive after running this code. what could be the problem?
There are no comments posted here yet
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations