5人の当番表を作りたいと思います
A列に日程のカレンダー ・ B列に曜日 ・ 土日祝日の場合は自動的にAからC列まで灰色がセルになるようにExcel2010の条件付書式で設定しています。
色が付いているところを除き、上から Aくん・Bくん・Cくん・Dくん・Eくん Aくん・・・(繰り返し)と、
カレンダー最後の行まで入力できるマクロを作りたいのですがどのように書けばいいでしょうか?
手順としては、次のような感じかなと思います。
やりたいことはあるのですが、どうやってコードを書けば良いか分かりません。
その方法も含めてご教示いただければ勉強になります。
1.名前を行列として定義
2.今のセルから一つ左に文字があるか判定
3.色が付いていなければAくんを挿入
4.一つ下のセルへ移動 2の判定をしてBくん挿入
・
・
・
5.左に文字が無くなれば終了
No.1ベストアンサー
- 回答日時:
>3.色が付いていなければAくんを挿入
VBAでは条件付き書式で塗りつぶされたセル色を認識できません
データは2行目から開始されていると仮定して
1.名前を行列として定義
↓
Dim Tantou(4) As String
Tantou(0) = "A君"
Tantou(1) = "B君"
Tantou(2) = "C君"
Tantou(3) = "D君"
Tantou(4) = "E君"
2.今のセルから一つ左に文字があるか判定
4.一つ下のセルへ移動
5.左に文字が無くなれば終了
↓
Range("A2").Select
Range(Selection, Selection.End(xlDown)).Offset(0, 2).Select
For Each ObjRange In Selection
ココに(3.色が付いていなければTantou()を挿入)の処理
Next ObjRange
問題の
3.色が付いていなければAくんを挿入
の処理ですが
If 塗りつぶし条件を満たしていない場合 Then
Tc = WorksheetFunction.CountA(ActiveSheet.Range("C2:" & ObjRange.Address))
i = Tc Mod 5
ObjRange.Value = Tantou(i)
End If
こんな感じで
というかこれはマクロ使わずに、計算式のほうが容易な気がします
No.3
- 回答日時:
>A列に日程のカレンダー ・ B列に曜日 ・ 土日祝日の場合は自動的にAからC列まで灰色がセルになるようにExcel2010の条件付書式で設定しています。
その条件付き書式において色を付ける条件として入力されている数式がどの様なものなのかが判れば、マクロを使わずとも、ワークシート関数を使って、色が付いているところを除き、上から Aくん・Bくん・Cくん・Dくん・Eくん Aくん・・・(繰り返し)と、カレンダー最後の行まで入力する事も可能だと思われますので、
(1)カレンダーの初日の日付はA列の何行目に入力されているのか?
(2)その灰色の色を付ける条件として、条件付き書式の「書式ルールの編集」ダイアログボックス(或いは「新しい書式ルール」ダイアログボックス)の「次の数式を満たす場合に値を書式設定」欄に入力されている数式は、どの様なものなのか?
(3)Aくん・Bくん・Cくん・Dくん・Eくんという氏名の一覧が入力されている表が、もし既にある場合には、その氏名の一覧表において、実際の氏名が入力されているセル範囲は何シートの何列の何行目から、どちらの方向(下に向かってなのか? 右に向かってなのか?)なのか?(もし氏名の一覧表が存在しなければ、新たに作れば良いだけです)
という事を御教え頂けないでしょうか?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) Excel2007での条件付き書式について 6 2023/05/02 10:56
- Excel(エクセル) 条件付き書式 別のシートで色付けされたセルデータの転記漏れを防ぐ書式を入れたい 4 2022/04/22 06:36
- その他(Microsoft Office) 従業員増減対応で当番種類の増減対応な当番表 21 2022/07/19 07:30
- Excel(エクセル) 条件付き書式 一致する曜日の列にある○のセルに色を付けたい 2 2022/04/19 05:40
- Visual Basic(VBA) vbaで条件付き書式を設定したときの適用範囲について 1 2023/07/17 23:14
- Excel(エクセル) セルに特定の色が出た時だけ、式を発動させたい 4 2022/06/17 10:32
- Excel(エクセル) エクセルの祝日に色が反映しない 4 2022/05/18 09:58
- Visual Basic(VBA) 3つのプロシージャをまとめたら実行時エラー発生で対応不能 6 2022/05/17 01:47
- Excel(エクセル) 出勤簿の土、日、休日に色付けできない 2 2022/08/04 20:10
- その他(Microsoft Office) EXCELのセルへの色づけ 2 2023/06/07 01:22
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
左列の文字の色と同じ文字の色...
-
セルを結合したA4とA5の条件付...
-
Excelで社歴管理をしており4年...
-
excel:条件付き書式の適用範囲...
-
ある倍数だけを塗りつぶす方法 ...
-
Excelで表を作り、自動で今月の...
-
色のリンクは出来ますか?【エク...
-
条件付き書式のやり方。隣のセ...
-
数字を入力するとセルに色が付...
-
エクセル 条件付書式で時刻の...
-
エクセル 別シートの書式(塗り...
-
【Excel】ガントチャートの作成...
-
エクセルの折られたセルを戻したい
-
エクセル 文字列に数字を含む場...
-
日付の書式なしコピーについて
-
Excelで隣のセルを参照し...
-
エクセルの条件付き書式による...
-
EXCELで2つの条件設定で別のセ...
-
スプレッドシートにて、条件付...
-
条件付きセル書式を、複数セル...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
セルを結合したA4とA5の条件付...
-
excel:条件付き書式の適用範囲...
-
色のリンクは出来ますか?【エク...
-
Excelで表を作り、自動で今月の...
-
Excelで社歴管理をしており4年...
-
ある倍数だけを塗りつぶす方法 ...
-
左列の文字の色と同じ文字の色...
-
エクセル 条件付書式で時刻の...
-
条件付き書式のやり方。隣のセ...
-
【Excel】ガントチャートの作成...
-
数字を入力するとセルに色が付...
-
エクセルの折られたセルを戻したい
-
Excelの塗りつぶしの反映
-
Excel2010 日付列を結合した予...
-
Excelで隣のセルを参照し...
-
エクセルの条件付き書式による...
-
EXCELで2つの条件設定で別のセ...
-
Excelで、期限切れのリストが一...
-
エクセルで
-
エクセル 文字列に数字を含む場...
おすすめ情報