Note: The other languages of the website are Google-translated. Back to English

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

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

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

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


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

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

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

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

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

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

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

4。 次に、をクリックします ディベロッパー > インセット > コマンドボタン(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 for Excelはほとんどの問題を解決し、生産性を80%向上させます

  • 再利用: すばやく挿入 複雑な数式、チャート および以前に使用したものすべて。 セルを暗号化する パスワード付き。 メーリングリストを作成する そしてメールを送る...
  • スーパーフォーミュラバー (複数行のテキストと数式を簡単に編集できます); 読書レイアウト (多数のセルを簡単に読み取って編集する); フィルター範囲に貼り付け...
  • セル/行/列をマージする データを失うことなく; 分割セルコンテンツ; 重複する行/列を組み合わせる...重複セルを防止します。 範囲を比較する...
  • [複製]または[一意]を選択します 行; 空白行を選択 (すべてのセルは空です); スーパーファインドとファジーファインド 多くのワークブックで; ランダム選択...
  • 正確なコピー 数式参照を変更せずに複数のセル。 参照の自動作成 複数のシートに; 箇条書きを挿入、チェックボックスなど...
  • テキストを抽出、テキストの追加、位置による削除、 スペースを削除する; ページング小計の作成と印刷。 セルの内容とコメントを変換する...
  • スーパーフィルター (フィルタースキームを保存して他のシートに適用します); 高度な並べ替え 月/週/日、頻度など。 特殊フィルター 太字、斜体...
  • ワークブックとワークシートを組み合わせる; キー列に基づいてテーブルをマージします。 データを複数のシートに分割; xls、xlsx、PDFをバッチ変換...
  • 300 以上の強力な機能. Office / Excel 2007-2021 および 365 をサポートします。すべての言語をサポートします。 企業や組織に簡単に導入できます。 フル機能の 30 日間無料トライアル。 60日間の返金保証。
kteタブ201905

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

  • Word、Excel、PowerPointでタブ付きの編集と読み取りを有効にする、パブリッシャー、アクセス、Visioおよびプロジェクト。
  • 新しいウィンドウではなく、同じウィンドウの新しいタブで複数のドキュメントを開いて作成します。
  • 生産性を 50% 向上させ、毎日何百回もマウス クリックを減らすことができます!
officetab下部
コメントを並べ替える
コメント (1)
まだ評価はありません。 最初に評価してください!
このコメントは、サイトのモデレーターによって最小化されました
このコードを実行すると、Excelが応答しなくなります。 何が問題なのか?
ここにはまだコメントが投稿されていません
あなたのコメントを残す
ゲストとして投稿
×
この投稿を評価:
0   文字
推奨される場所

フォローする

著作権©の2009 - WWW。extendoffice.com。 | | 全著作権所有。 搭載 ExtendOffice。 | サイトマップ
MicrosoftおよびOfficeのロゴは、米国MicrosoftCorporationの米国およびその他の国における商標または登録商標です。
SectigoSSLで保護