アプリ版:「スタンプのみでお礼する」機能のリリースについて

いつもお世話になります
ListViewの列は一列です。
シートに一旦書き出して重複データを削除してListViewに表示させるのではなく、ListViewの中で重複削除を完結させるコードをご教示頂けないでしょうか?
どうぞよろしくお願いします。

質問者からの補足コメント

  • すみません
    立て続けに回答頂いていたんですね
    気づくの遅かったですm(_ _)m
    ホントにありがとうございました。

    No.2の回答に寄せられた補足コメントです。 補足日時:2022/08/05 20:50

A 回答 (2件)

SubItemsは作らないのかしら


ListViewをどのように使用するのか・・そんな心配はいらんですね
誰かがコードは書くと思いましたが 暇と合わせてまだでしたので書きました(一例です)
>教示
申し訳ないコードで勘弁
Dim dic As Object
Dim i As Long, strIdxBuf As String, s As Variant
Set dic = CreateObject("Scripting.Dictionary")
For i = 1 To ListView1.ListItems.Count
If Not dic.exists(ListView1.ListItems(i).Text) Then
dic.Add ListView1.ListItems(i).Text, 0
Else
strIdxBuf = strIdxBuf & i & ","
End If
Next
s = Split(strIdxBuf, ",")
For i = UBound(s) - 1 To LBound(s) Step -1
ListView1.ListItems.Remove (CInt(s(i)))
Next
インデックスの優先順位は上からです
待ち人来ず、帰ります
この回答への補足あり
    • good
    • 0
この回答へのお礼

助かりました

回答ありがとうございます
私には充分すぎるコードでした。
助かりました。

お礼日時:2022/08/05 20:38

こんばんは


ご質問の意味を取り違えていたらごめんなさい

>ListViewの中で重複削除を完結させるコード
どこから登録するのか、わかりませんけれど

データ登録時にユニークデータを作り登録すれば良いのでは?
UNIQUE関数
Dictionaryオブジェクト
Collectionオブジェクト
AdvancedFilter
など
登録したデータをいじるより合理的で速いと思いますね
追加する時もListItemsコレクション内の存在を確認して分岐するとかで・
    • good
    • 0
この回答へのお礼

ありがとう

ご指摘の件、ありがとうございます

お礼日時:2022/08/05 20:28

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています