Excel VBAなのですが、配列に重複値を格納しないようにする方法あるでしょうか?
For i = 0 To 100
'' ここに既出myStrを排除するしくみを入れる?
s(i) = myStr
Next
myStrは"01"、"88"、"92"等々ランダムに変化します。
myStrの値が、すでにs(どこか)に格納済みだったら、
代入処理[ s(i)=myStr ] しないようにしたいのですが、
実現方法ないでしょうか?
Perlなら$seen{$myStr}++を使って便利なのですが...
No.2ベストアンサー
- 回答日時:
Dim Flg as Booloan
Dim Max as Intger
myStr ="??"
'重複チェックと未格納配列番号の取得
For i = 0 To 100
if s(i) = myStr then
Flg=True
exit for
elseif s(i) = "" then
Max=i
exit for
endif
Next
if Flg =False then s(Max) = myStr
正攻法で行くしかありません。
No.4
- 回答日時:
よくC言語使っているのでNo.1,NO.2の書き方はちょっと違和感あってC風に書いてみました。
。。参考までFor i = 0 To 100
For j = 0 to i-1
If s(j) = myStr then Exit For
Next j
If j=i then s(i) = myStr
Next i
No.3
- 回答日時:
2桁の数字文字列であると言う前提なら、配列要素を100個の配列A(100)をもって、
例えばB=34が現れたらA(Val(B)+1)を1にする。
再度B=34が来たら、A(35)が1なら既出、0なら初出であるとしてA(34)を1にし、既出なら撥ね付ければよい。
それで、今まで入ったコードの一覧を出すときは、A(0)からA(99)までの値1のものの、配列要素数を列挙すれば良い。
素晴らしい! Bに+1する理由すら理解できないのですが(^^;; 見事なやり方ですねえ。実は6桁の数字文字列なので配列A(999999)は厳しいかなと...
ありがとうございました!
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) PowerQueryに詳しい方教えてください(Office365) 1 2022/07/24 21:11
- Visual Basic(VBA) 複数のcsvファイルをExcelに一括変換したい 2 2023/03/03 12:44
- Excel(エクセル) 格納したデータを配列のように扱う方法はありますか? 8 2023/06/05 08:53
- Visual Basic(VBA) Excel vbaについて知恵もしくは、コード教えて下さいm(__)m ① 表にあるデータをコピー、 2 2022/09/01 23:57
- Visual Basic(VBA) ファイル全てを .xlsm に変更したところ、プログラムが途中で落ちてしまっています 17 2022/12/07 12:03
- Visual Basic(VBA) VBAでのMATCH関数 3 2022/10/17 19:06
- Visual Basic(VBA) 3つの条件を指定してVBAで行を削除したい 条件1:分類1が重複 条件2:分類2が重複 条件3:個数 6 2022/06/24 11:07
- Excel(エクセル) Excel 散布図グラフ 外れ値 セル番地参照方法 4 2022/04/19 18:56
- Excel(エクセル) Excel VBA 指定フォルダに格納されている全エクセルファイルに指定シートを挿入する方法について 1 2022/08/22 11:53
- Visual Basic(VBA) VBA 検索と入力 Excel ブック ぶぶぶ シート ししし 列V 検索対象の列です 最終行は、お 6 2023/05/17 01:40
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
array関数で格納した配列の型を...
-
Excelのセルの色指定をVBAから...
-
エクセルで、絶対値の平均を算...
-
配列がとびとびである場合の書き方
-
DataSetから、DataTableを取得...
-
ExcelのINDEXとMATCH関数でスピ...
-
表にフィルターをかけ、絞った...
-
Excel オートフィルタのリスト...
-
SUMPRODUCT関数を用いた最小値
-
スプレットシートのGetTextにつ...
-
C#で配列のフィールドを取得したい
-
Excelのオートフィルタで抽出し...
-
読み込みで一行おきに配列に格納
-
[エクセル]連続する指定範囲か...
-
VBA 配列に格納した値の平均の...
-
[VBA]改行入りのセルの値を配列...
-
【VBA】 動的な変数(定数)の指定
-
ヤフーファイナンス 株価時系...
-
Dimとは何かの略ですか?
-
上位3つの和を求めるエクセル...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excelのセルの色指定をVBAから...
-
ExcelのINDEXとMATCH関数でスピ...
-
[エクセル]連続する指定範囲か...
-
array関数で格納した配列の型を...
-
表にフィルターをかけ、絞った...
-
エクセルで、絶対値の平均を算...
-
配列がとびとびである場合の書き方
-
[VBA]改行入りのセルの値を配列...
-
Excel オートフィルタのリスト...
-
DataSetから、DataTableを取得...
-
iniファイルのキーと値を取得す...
-
配列のSession格納、及び取得方...
-
エクセルでエラーを無視して一...
-
Dictionaryを使い4つの条件の一...
-
エクセル 条件を指定した標準...
-
読み込みで一行おきに配列に格納
-
For Nextマクロの高速化につい...
-
.NET - 配列変数を省略可能の引...
-
SUMPRODUCT関数を用いた最小値
-
VB6.0 ファイルの一括読込み
おすすめ情報