dim base8 as range
set base8 = range("B2:J10")
のようにbase8の範囲を決め、
この中に特定の数字があるかを調べようとしています。
今は
単純に
for n = 1 to 81
if base8(n) = x then goto ari8
next
の様に81回ループさせています。
時間が掛かる※ので for each にしてみましたが、
たいして変わりませんでした。
ココで質問です。
「find」みたいな命令で一発で見付けられるような命令はないでしょうか。
※ココに書いた例はあくまで例であり、
実際はもっと大きなエリアで、何回も同じ様なことをやっています。
なので、今は5分くらい掛かっています。
環境はexcel2003です。
宜しくお願いします。
No.3ベストアンサー
- 回答日時:
findはRangeオブジェクト(base8)で使用できますが遅いです。
今回の目的では使用しないほうがよいかと。下記URLを参照ください。
https://excel-ubara.com/excelvba4/EXCEL225.html
確かに全く速さが違いますね、驚きでした。
「find」しか頭にありませんでした。
配列は先ず難しいが先に立ってしまいます。
早速、「match」を使うべく検討してみます。
お世話になりました。
No.4
- 回答日時:
こんばんは!
B2~J10セル内に「特定の数字」があるか?ないか?の処理でよいのですね。
Sub Sample1()
Dim myRng As Range, c As Range
Set myRng = Range("B2:J10")
Set c = myRng.Find(what:="特定の数字", LookIn:=xlValues, lookat:=xlWhole)
If Not c Is Nothing Then
'「特定の数字」がある場合の処理
Else
'「特定の数字」がない場合の処理 '←不要かも・・・
End If
End Sub
こんな感じではどうですか?m(_ _)m
早速有り難うございました。
昨日質問して夜勤になってしまったので、
お礼が遅くなりました。
「find」でも出来たのですね、
具体的なコードまで頂き恐縮です。
サラッと見ましたが、「match」でも出来そうなので
そちらを検討したいと思っています。
お世話になりました。
No.2
- 回答日時:
No.1
- 回答日時:
scripting.dictionaryを使えば圧倒的に早くなります。
1)各セルには同じ値がありますか。同一値の有無により、処理が異なります。
2)見つけた後、何をしたいのでしょうか?
早速有り難うございました。
昨日質問して夜勤になってしまったので、
お礼が遅くなりました。
scripting.dictionary
検索してみましたが、全く初めてのことで難しく感じました。
今回は別途貼っていただいたリンクを読んだところ、
「match」が良さそうなのでそちらを勉強してみたいと思っています。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) 形式を選択して貼り付け 以下のコードで「元」シートと「先」シートのA列に同じ値があったら指定範囲をコ 5 2022/11/11 07:30
- Visual Basic(VBA) ExcelVBAに関する質問 3 2023/02/17 10:47
- Visual Basic(VBA) VBAの繰り返し処理について教えてください。 3 2022/08/02 13:21
- Excel(エクセル) 日付で矢印マクロ 4 2023/07/25 16:47
- Visual Basic(VBA) 動きっぱなしです。止め方とプロシージャの間違いを教えて下さい! 5 2022/08/15 23:08
- Excel(エクセル) VBAで組み合わせ算出やCOUNTIFSの処理を高速化したいです。 4 2022/04/07 02:38
- Visual Basic(VBA) excel vbaでvlooupの変数がわかりません。 7 2022/05/30 09:35
- Visual Basic(VBA) このVBAでExcelアプリケーションを作成は必要ですか? 3 2023/07/19 21:13
- Visual Basic(VBA) Excelで下記のようにマクロを作ったところ、一回目は実行できたのですが、二回目以降「実行時エラー1 1 2022/03/25 08:08
- Visual Basic(VBA) 前回ご教授いただいたコードに覚えたてのループ処理で品名りんごAから順に20回for nextでループ 7 2023/01/13 22:01
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
【マクロ】エクセルにかいてあ...
-
エクセルの行の抽出について質...
-
Excel初心者です。 詳しい方、...
-
スプレッドシート クエリ関数 1...
-
別シートからの文字を変更
-
Excel初心者です。 詳しい方、...
-
Excel 2019 のピボットテーブル...
-
MOS365 Excel Expert / Excel R...
-
エクセルの数式で教えてください。
-
数学 Tan(θ)-1/Cos(θ)について...
-
4つのパターンを表示するEXACT...
-
各ページの1番上の表示について
-
INDIRECTを使わず excelで複数...
-
関数を教えて下さい。
-
Excelのグラフ軸について
-
Excel:一部のフォントでセルの...
-
エクセルで指定した日付、店舗...
-
Excel ウインドウ枠の固定をす...
-
EXACT関数とIF関数の組み合わせ...
-
写真のコピー
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルで指定した箇所がずれる
-
EXCELのマクロ :再帰的...
-
10base-Tと100base-Tの違い?
-
ジャニーズ 当選後に姓の変更
-
スマートフォンの短期解約につ...
-
クレジットカードの分割払い
-
ライブの先着受付でどうゆうこ...
-
7万円の給付金の件ですけどコ...
-
ドスパラのパソコンに於けるロ...
-
振り込まれる予定のお金の確認方法
-
大阪医専AO入試について 救急救...
-
ドスパラで75万円のパソコンを...
-
paidy 分割払い 審査落ち 分割...
-
教えてください。 ローソンチケ...
-
JCBカードwで分割払いにしたい...
-
訪問に来る勧誘にどんな風に断...
-
ジャパンネット銀行デビットカ...
-
銀行口座作りたいんですけど、...
-
アップルウォッチの予約をした...
-
あるミュージシャンのライブが...
おすすめ情報