No.4ベストアンサー
- 回答日時:
#3です
コードは良く見えませんが、上からループ条件式が1つだけのような感じでしょうか
上からループする場合(条件をべたに考えると)
書き方は色々ありますが
初めに色を付ける対象の範囲の色をクリアーする
(色を付けるのだから下準備が必要です)
範囲.interior.Colorindex= xlNone (カラーインデックスの場合)
範囲はRange(cells(2, 列), cells(rows.count, 列).end(xlup))などで
対象の範囲をループする(ループカウント変数 i の場合 )
for i= 2 to cells(rows.count, 列).end(xlup).row
セルの値が数字でない場合を想定して
if isNumeric(cells(i,列).value) then 数値になる値のみに対して
if cells(i,列).value=cells(i+1,列).value-1 then 連番ならば色を付ける
*この時に組となるセル両方に色を付ける(ポイント)
cells(i,列).interior.Colorindex =3
cells(i+1,列).interior.Colorindex =3
end if
end if
next 繰り返し
実行を1つ1つ追うと少し問題があるようです。
*ステップ実行などで自身でデバッグすると判ります。
また、1色の場合は、#3でも上げましたが12.13.14.15.17.18.19 の場合、すべてに色が付くと思います。
cells(i,列).interior.Colorindex =3 を考える
cells(i+1,列).interior.Colorindex =3で色を付けているので
繰り返し処理の中で重複して実行されてしまいます。
連番グループの初めだけ実行するようにする
範囲の色をクリアーしているので、色が付いていなかったらと条件設定し
先頭(連番の始まりを示す為、色を変える)
If cells(i,列).interior.Colorindex = xlNone then
cells(i,列).interior.Colorindex = 17
End If
cells(i+1,列).interior.Colorindex =3を考える
ループの最後に範囲の外に色が付く可能性があります。
ループの最後のひとつ前まで実行する条件を付ける
先頭に属する連番を示す為、先頭色と色を変える
If i < cells(rows.count, 列).end(xlup).row then
cells(i,列).interior.Colorindex = 24
End If
条件など参考になりますでしょうか?
No.3
- 回答日時:
こんにちは
申し訳ないのですが、回答ではありません
ロジックを考えてみましたが、目的を達成できない(判り難い)処理になると思います。(コードが見えないのと、目的を明確に理解していませんが)
一色で色を付ける場合、続いている(連番であるセル)を対象にすると
12.13.14.15.17.18.19 グループは2つですが、すべてに色が付く事になりますね。つまりどこが区切りなのか分かりません。
色を変えるのならわかりますがね。(一色とは書いていませんが)
グループごとに色を変えるか、逆に抜けている番号を書き出すとかにした方が良いのではないかと思いました。
要 考察と思いますよ
ちなみに、コード添削やチェックの場合は図ではなく文字列で投稿するようにしましょう。(出来るだけ環境やバージョンもね)
再現の為のデバッグや回答の為の検証を図を見ながらコードをローカルに打つ人はなかなかいないと思います(面倒でしょう?スマホなら特にね)
ざっくりで回答をしてやり取りを何度かして、、これも面倒ですしね
まぁ、やり取りのタイミングが合えば良いでしょうけれど、なかなかですよね。
この回答へのお礼
お礼日時:2022/02/09 18:50
アドバイスありがとうございます。
たしかに区切りをつけた方がいい場合もあると思うので
グループごとに色を塗るようにしたいと思います、
No.1
- 回答日時:
おはようございます。
すみませんが、コードが見えないのと、下記の理由もよく分かりません。
>例) 12.13.14.15.17.18.19 の場合だと12-15、18,19に色を塗りたいです。
→17もでしょうか? 記載で抜けただけでしょうか?
あと、色を塗るのは、F列になるのでしょうか?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) Excelで重複するセルの色を変え、さらにそのセルと同じ行の他のセルにも色を付ける方法を教えて下さい 3 2021/11/07 16:34
- Excel(エクセル) Excel 条件付きの書式 マクロ 4 2021/10/29 13:23
- Visual Basic(VBA) 一定時間間隔でセルを点滅させたい 3 2021/11/30 14:54
- Visual Basic(VBA) どなたかマクロコードを教えて頂けますと幸いです。 sheet1,2,3あります。 sheet1に↓ 3 2021/10/30 09:17
- その他(プログラミング・Web制作) VBAで特定文字列がある場合にシート見出しの色を変更したい。 3 2021/10/27 15:18
- Excel(エクセル) どなたか教えて下さい。Excelで添付しました画像のように開始時間A列、終了時間B列でD1に16:2 3 2021/12/06 17:58
- Visual Basic(VBA) VBA CSV取り込みについて 3 2021/12/30 22:40
- Excel(エクセル) エクセル相違の発見 6 2021/11/15 19:36
- Excel(エクセル) VBAで特定の条件の値を抽出するには 3 2022/02/06 00:30
- Visual Basic(VBA) Excel VBAでWordの複数ファイルを統合する場合のエラーについて教えてください 11 2021/12/29 12:11
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VBAについて質問。別シートに転...
-
郵便番号から都道府県・郡・市...
-
アクセス解析で自社HPの過去か...
-
上書き保存されない
-
Excel2010の並べ替えで行の高さ...
-
Caps Lockキーの解除
-
エクセルで離れたセルを離れた...
-
エクセル関数で {=TABLE(,セル...
-
オーバレイ機能を解除する方法は?
-
Excelでカーソルが逆に動く
-
エクセルで複数の勤務時間ごと...
-
プルダウンで選択すると隣のセ...
-
エクセルで作った書類に、パン...
-
リース初心者です 利子率の計...
-
VBA 条件が一致した場合の...
-
エクセルデータをワードへ反映...
-
エクセル2007 の右クリックメ...
-
EXCEL関数 上四桁目を3捨4入
-
Excelの空白行を上に詰めるVBA...
-
エクセルの計算式ですが・・・
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Java、配列の問題を教えて欲し...
-
VBAについて質問。別シートに転...
-
上書き保存されない
-
splitを使ってスペース位置で文...
-
マクロのエラー
-
VBA SubTotalで集計を出そうと...
-
VBAで連番に色を付けたい
-
郵便番号から都道府県・郡・市...
-
VBAを教えていただきたいです。...
-
VBAで試験結果の集計ツールを作...
-
入出力について
-
VBAでIEを最小化したい
-
業務が劇的に便利になったツー...
-
Mathematicaで関数の最大値を求...
-
Caps Lockキーの解除
-
Excel2010の並べ替えで行の高さ...
-
エクセル関数で {=TABLE(,セル...
-
リース初心者です 利子率の計...
-
Excelでカーソルが逆に動く
-
エクセルで離れたセルを離れた...
おすすめ情報
はい。
ロットの抽出に関しては完了しています。