
No.1ベストアンサー
- 回答日時:
こんにちは。
> 何か解決策はありますでしょうか?
"範囲内のセル全てに処理が適応され"るように書き直せばいいです。
具体的な説明が何もないので、
汎用的なサンプルと、仮の処理例でお応えします。
要は
Targetの中で処理が必要なセルを篩に掛けることと、
Targetの中で処理が必要なセルすべてを総当たりで処理することと、
それぞれのセルについて条件分岐をすることと、
条件分岐に副ってセルの色を変えること、
の4つのポイントを考えればいいです。
以下の記述の応用としては、
★で示した部分で「処理対象範囲」を指定することと、
「条件分岐と処理の一例」として、こちらが勝手に書いている部分を
そちらのやりたいように書換えること、だけで済むように書いています。
以下の記述を新しいシートのシートモジュ-ルにコピペしたら、
「テスト壱」「テスト弐」を実行して動作を確認してみてください。
' ' ///
Private Sub Worksheet_Change(ByVal Target As Range)
Const 処理対象範囲 = "A1:B100" ' ←★運用に合わせて★←要指定★
' ' 関係ないセルの値変更なら処理を中止して Exit Sub
If Intersect(Target, Range(処理対象範囲)) Is Nothing Then Exit Sub
' ' 値変更されたセルの内、処理対象範囲に含まれるセルだけを、総当たりで処理
Dim c As Range
For Each c In Intersect(Target, Range(処理対象範囲))
' ' =======================
' ' 以下、各セル c に対する、条件分岐と処理の一例
If c.Value = "" Or Not IsNumeric(c.Value) Then
c.Interior.ColorIndex = xlColorIndexNone
Else
Select Case c.Value Mod 5
Case 0: c.Interior.Color = vbRed Or &HAAAAAA
Case 1: c.Interior.Color = vbBlue Or &HAAAAAA
Case 2: c.Interior.Color = vbMagenta Or &HAAAAAA
Case 3: c.Interior.Color = vbGreen Or &HAAAAAA
Case 4: c.Interior.Color = vbYellow Or &HAAAAAA
End Select
End If
' ' =======================
Next
End Sub
Sub テスト壱() ' 数値オンリー
Cells.Clear
Cells(1, 1) = 1
Cells(2, 1) = 2
MsgBox "オートフィルします"
Range("A1:A2").AutoFill Destination:=Range("A1:A30")
End Sub
Sub テスト弐() ' 数値と文字列
Cells.Clear
Cells(1, 1) = 1
Cells(2, 1) = "履歴-1"
MsgBox "オートフィルします"
Range("A1:A2").AutoFill Destination:=Range("A1:A30")
End Sub
この回答への補足
2000行くらいのデータ数なので、ループを使うと重くなります。
フォルダ検索を再帰処理で行っているため、これ以上速度を落とすことはできません。
No.2
- 回答日時:
> 2000行くらいのデータ数なので、ループを使うと重くなります。
> フォルダ検索を再帰処理で行っているため、これ以上速度を落とすことはできません。
失礼な話ですね。
補足、ということは、これを読んでどうにかして欲しい、ということなのでしょうけれど、
文句を言う前に何をやりたいのか具体的に示したらどうですか?
> 2000行
その程度で重くなるのは、設計の問題ですから、そちらで見直してください。
> フォルダ検索を再帰処理で行っているため
その処理が遅くて困っている、ということと、件の質問と
どのような関係があって、何を訊きたいのですか?
2000行程度で、"重く"なる状態、ということは、
少なくともExcel2007以降のバージョンだということは想像できます。
でも、想像をどれだけ膨らませても、あなたの望むものを書くことは出来ません。
具体的な条件に合わせて"重くならないよう"手当てすることは出来ますが、
漠然と汎用的な万能薬のようなものを期待されているのでしたら、
残念ながら、そのようなものはありません。
強いて言えば、オートフィルそのものが遅いのですから、
設計も見直しから始めることになるのでしょう。
> オートフィルをした場合、
> 範囲内のセル全てに処理が適応されません
という質問に対する応えとしては、#1の内容以上に書くことはありません。
条件を後出しにして、わざわざ解決を遠避けて楽しんでおられるのでしたら、
或いは、ご自分の置かれた状況や抱えている問題を説明することが出来ないのでしたら、
質問するより先に調べてみてはいかがですか?
このサイト内でも、関連していそうなQAは多数あると思いますよ。
そういうスレを読むことで、あなたが必要とする解決策を手に入れる為には、
どのように質問を組み立てていけばいいのか、とか、
どうすればご自身のなさりたいことを伝えることができるのか、とか、
探ってみるなり、既存の質問・回答を参考にご自身で応用するなり、
何れにしても、もう少し考えてから
仕切り直したほうがよいのではないかと思います。
具体的な回答を付けるのに必要十分な補足でもあれば、解決へのお手伝いはします。
しかし、対話的でなく、尚、挑発的なやりとりしか出来ないのでしたら、
私には引き受けられることはありませんので、退席することになるでしょう。
尚も解決を望まれるようでしたら、ちゃんとした補足をしてください。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) ExcelVBAの複数指定範囲の構文 2 2022/05/26 22:39
- Excel(エクセル) マクロ、条件付き書式のfont.color 1 2023/03/28 01:10
- Excel(エクセル) Excel VBA 空白行があるセル範囲に色を付ける 3 2022/06/13 15:58
- Visual Basic(VBA) 複数指定セルの可視セルのみを別シートに転記するVBAについて 2 2022/05/27 21:19
- Visual Basic(VBA) Sheet1のA列にコードB列にメアド、Sheet2のB列にコード一覧とD列にメアド一覧があり、Sh 3 2022/10/19 11:57
- Excel(エクセル) エクセルの数式で教えてください。 1 2023/02/15 08:30
- 一眼レフカメラ プログラムオートといわゆるオートの違いは? 1 2022/09/11 20:20
- Visual Basic(VBA) シート間で同じ値があったら指定範囲をコピーして貼り付け 1 2022/11/07 08:01
- Visual Basic(VBA) EXCEL VBA ユーザーフォームの内容をループでデータベースに登録したい。 2 2023/02/02 10:22
- Visual Basic(VBA) セルS2に入力した「月」と一致したB列の右隣へセルS110の値を転記する下記マクロを実行するとエラー 2 2022/12/06 17:32
このQ&Aを見た人はこんなQ&Aも見ています
-
見学に行くとしたら【天国】と【地獄】どっち?
みなさんは、一度だけ見学に行けるとしたら【天国】と【地獄】どちらに行きたいですか? 理由も聞きたいです。
-
歳とったな〜〜と思ったことは?
歳とったな〜〜〜、老いたな〜〜と思った具体的な瞬間はありますか?
-
モテ期を経験した方いらっしゃいますか?
一生に一度はモテ期があるといいますが、みなさんどうですか? いまがそう! という方も、「思い返せばこの頃だったなぁ」という方も、よかったら教えて下さい。
-
テレビやラジオに出たことがある人、いますか?
テレビやラジオに取材されたり、ゲスト出演したことある方いますか?
-
泣きながら食べたご飯の思い出
泣きながら食べたご飯の思い出を教えてください。
-
エクセル イベントマクロ Changeイベントを複数作りたい
Access(アクセス)
-
B列の最終行までA列をオートフィル
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・一番好きなみそ汁の具材は?
- ・泣きながら食べたご飯の思い出
- ・「これはヤバかったな」という遅刻エピソード
- ・初めて自分の家と他人の家が違う、と意識した時
- ・いちばん失敗した人決定戦
- ・思い出すきっかけは 音楽?におい?景色?
- ・あなたなりのストレス発散方法を教えてください!
- ・もし10億円当たったら何に使いますか?
- ・何回やってもうまくいかないことは?
- ・今年はじめたいことは?
- ・あなたの人生で一番ピンチに陥った瞬間は?
- ・初めて見た映画を教えてください!
- ・今の日本に期待することはなんですか?
- ・集中するためにやっていること
- ・テレビやラジオに出たことがある人、いますか?
- ・【お題】斜め上を行くスキー場にありがちなこと
- ・人生でいちばんスベッた瞬間
- ・コーピングについて教えてください
- ・あなたの「プチ贅沢」はなんですか?
- ・コンビニでおにぎりを買うときのスタメンはどの具?
- ・おすすめの美術館・博物館、教えてください!
- ・【お題】大変な警告
- ・洋服何着持ってますか?
- ・みんなの【マイ・ベスト積読2024】を教えてください。
- ・「これいらなくない?」という慣習、教えてください
- ・今から楽しみな予定はありますか?
- ・AIツールの活用方法を教えて
- ・最強の防寒、あったか術を教えてください!
- ・歳とったな〜〜と思ったことは?
- ・モテ期を経験した方いらっしゃいますか?
- ・好きな人を振り向かせるためにしたこと
- ・スマホに会話を聞かれているな!?と思ったことありますか?
- ・それもChatGPT!?と驚いた使用方法を教えてください
- ・見学に行くとしたら【天国】と【地獄】どっち?
- ・これまでで一番「情けなかったとき」はいつですか?
- ・この人頭いいなと思ったエピソード
- ・あなたの「必」の書き順を教えてください
- ・14歳の自分に衝撃の事実を告げてください
- ・人生最悪の忘れ物
- ・あなたの習慣について教えてください!!
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
「ご処理進めて頂きますようお...
-
エクセルで、日付を入力すると...
-
【Excel】特定の文字を含むセル...
-
VBAでループ内で使う変数名を可...
-
EXCEL VBA マクロ 実行する度に...
-
月度は何て読みますか?
-
DoEventsがやはり分からない
-
UMLでの例外処理
-
findは動くがfindnextがマクロ...
-
お家デートをしててハグを長い...
-
VBAでセルに値が入力されるまで...
-
VBの質問#if 0 then ってどう...
-
Do~Loopした回数をカウントしたい
-
セックスレスの既婚女性は自慰...
-
インタラクティブの反対語は?
-
switch の範囲指定
-
RPGプログラムの*HIVALについて
-
Loadイベント中にほかのイベン...
-
ボタンクリックイベント 重複...
-
NULLを含むフィールド値の条件分岐
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
「ご処理進めて頂きますようお...
-
エクセルで、日付を入力すると...
-
VBAでループ内で使う変数名を可...
-
【Excel】特定の文字を含むセル...
-
DoEventsがやはり分からない
-
UMLでの例外処理
-
EXCEL VBA マクロ 実行する度に...
-
月度は何て読みますか?
-
FFTの結果ついて
-
VBの質問#if 0 then ってどう...
-
お家デートをしててハグを長い...
-
switch の範囲指定
-
Loadイベント中にほかのイベン...
-
インタラクティブの反対語は?
-
VB.NET Excelを読み込んでDataT...
-
Do~Loopした回数をカウントしたい
-
セックスレスの既婚女性は自慰...
-
メルカリのメルカードで買い物...
-
RPGプログラムの*HIVALについて
-
リョウ・・・量?料?
おすすめ情報