リストボックスの選択から重複しないリストボックスに値を抽出する
コードを作成しました。
しかし、スペックの低いPCで動作させると、処理に時間が
かかってしまいます。
配列を使うと処理が早くなるとウェブで調べたのですが、
いまいち理解が出来ません。
やりたいこと
・配列にリストボックスの値を入れる
・配列から重複を削除する?
どなたかご教授ください。
コードは下記のようになっています。
If Not UserForm1.ListBox6.Value = 0 Then
For w = UserForm1.ListBox1.ListCount - 1 To 0 Step -1
If Not UserForm1.ListBox6.Value = _
UserForm1.ListBox1.List(w, 5) Then
UserForm1.ListBox1.RemoveItem (w)
End If
Next w
End If
For w = UserForm1.ListBox1.ListCount - 1 To 1 Step -1
If UserForm1.ListBox1.List(w - 1, 6) = UserForm1.ListBox1.List(w, 6) Then
UserForm1.ListBox1.RemoveItem (w)
End If
Next w
No.1
- 回答日時:
私は重複しないリストを作る際には、Dictionaryオブジェクトを使ってます。
Excel(エクセル) VBA入門:Dictionaryオブジェクトを利用する
http://www.eurus.dti.ne.jp/~yoneyama/Excel/vba/v …
【重複しないリストを生成する】
ご参考まで。
No.2ベストアンサー
- 回答日時:
こんばんは。
UserFormモジュールに以下のようなユーザー定義関数を入れてあげればよいのでは?直接のコードではありませんが、サンプルを参考にしてください。
Dim v As Variant
Dim i As Long
For i = Me.ListBox1.ListCount - 1 To 1 Step -1
If mCountIf(Me.ListBox1.List, Me.ListBox1.List(i)) > 1 Then
Me.ListBox1.RemoveItem i
End If
Next i
Function mCountIf(arg1, arg2)
Dim v As Variant
Dim i As Long
If Not IsArray(arg1) Then
mCountIf = 0
Exit Function
End If
For Each v In arg1
If StrComp(v, arg2, 1) = 0 Then
i = i + 1
End If
Next v
mCountIf = i
End Function
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) いつもお世話になっております、VBAで教えて頂きたいのですが 2 2022/05/05 22:20
- Visual Basic(VBA) VBA Userformで一部別シートに転記がしたいのですが 2 2023/05/24 13:08
- Visual Basic(VBA) 数字が「0」の列を削除するため、下記のコードを実行しましたが、コンパイルエラーSubまたはFunct 3 2022/12/04 00:00
- Excel(エクセル) vba 「Nextに対するForが見当たりません」のエラーが発生する原因 1 2022/10/21 15:46
- Visual Basic(VBA) 前回ご教授いただいたコードに覚えたてのループ処理で品名りんごAから順に20回for nextでループ 7 2023/01/13 22:01
- Visual Basic(VBA) 動きっぱなしです。止め方とプロシージャの間違いを教えて下さい! 5 2022/08/15 23:08
- Visual Basic(VBA) ファイル全てを .xlsm に変更したところ、プログラムが途中で落ちてしまっています 17 2022/12/07 12:03
- Visual Basic(VBA) 稀に1円合いません? Sheet1から金額と個数を貼り付ける下記コードで、金額を切り上げるコードを何 3 2022/09/05 15:11
- Visual Basic(VBA) VBAで質問ですが、皆さんはどの様に導き出しているのでしょうか? 6 2022/05/03 21:53
- Visual Basic(VBA) エクセル マクロ(A1:A10)までの中で一番多く出た数字をB10に表示 6 2023/04/25 17:01
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
首吊りどこ締めるの
-
至急!尿検査前日にオナニーし...
-
尿検査前日に自慰行為した時の...
-
白血球が多いとどんな心配があ...
-
尿検査の前日は自慰控えたほう...
-
検便についてです。 便は取れた...
-
彼女のことが好きすぎて彼女の...
-
勃起する時って痛いんですか? ...
-
EXCELで条件付き書式で空白セル...
-
腕を見たら黄色くなってる部分...
-
EXCELで式からグラフを描くには?
-
変な話しになります。尿検査で...
-
excelでsin二乗のやり方を教え...
-
エクセル指定した範囲からラン...
-
Excelで""で囲む方法
-
ある範囲のセルから任意の値を...
-
2つの数値のうち、数値が小さい...
-
精子が黄色?
-
エクセルでエラーが出て困って...
-
納豆食べた後の尿の納豆臭は何故?
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
至急!尿検査前日にオナニーし...
-
首吊りどこ締めるの
-
尿検査の前日は自慰控えたほう...
-
尿検査前日に自慰行為した時の...
-
検便についてです。 便は取れた...
-
白血球が多いとどんな心配があ...
-
中出しをするとお腹が痛い・・・。
-
射精をして1週間以内に尿検査を...
-
彼女のことが好きすぎて彼女の...
-
腕を見たら黄色くなってる部分...
-
勃起する時って痛いんですか? ...
-
変な話しになります。尿検査で...
-
これって喉仏ですか? 私は女性...
-
EXCELで条件付き書式で空白セル...
-
男です。昨日の午後3時くらいに...
-
今朝、毎朝の習慣でオナニーし...
-
納豆食べた後の尿の納豆臭は何故?
-
1日前の検尿
-
値が入っているときだけ計算結...
-
精子が黄色?
おすすめ情報