再度質問で恐縮です。
各曜日と週の平均を比較して平均値以下なら数値を赤にしようとしたところ
Font.Color = RGB(255, 0, 0) にエラーが出ました。
単純な問題なのだと思いますが色々変更してみたのですが、その度に違うエラーで止まります。
比較したい値は5行目の3~9列目にあり、同様の比較を別の行でも行います。
月 火 水 木 金 土 日 平均
...
...
販売数 25 30 50 15 20 23 40 55
...
...
販売数
---------------------------------------------------------------------------------------------
Dim i As Double
For i = 3 To 9
If Cells(5, i).Value <= Cells(5, 10).Value Then
Font.Color = RGB(255, 0, 0)
Exit For
End If
Next i
End Sub
No.1ベストアンサー
- 回答日時:
こんばんは
なさりたい事がイマイチわかりませんが
Font.Color = RGB(255, 0, 0)
この命令はどのセルにしたいのでしょうか?と機械は言っています
例えば、ループ対象のセルなら
Cells(5, i).Font.Color = RGB(255, 0, 0)
あと、Exit For
一つのセルが条件Trueならあとは処理しなくて良いのでしょうか?
また、繰り返し処理を実行するのでは無いかと思うのですが
Else
.Font.ColorIndex = xlAutomatic とかしなくても良いのかな?
>違うエラー
比較するセルは値ですか? 数式などが入っているセルでエラー表示ななっているとかないですか?
ありがとうございます。
セルが指定出来ていないという初歩的なミスだったんですね。。
今回5行目だけを対象にマクロを作成しましたが、9行目、13行目、17行目、2D1行目、25行目にも同じ処理を行います。
繰り返しの処理についてはまだ対応出来ていません。
セルにはそれぞれ数式が入っています。それがエラーの原因になったりするんですね。少しずつ勉強していきます。
No.4
- 回答日時:
こんばんは
少し気になり、投稿します
学習の為、マクロでとの事ならば、良いのですが
先のご質問を含め、一連のご質問に回答をさせて頂きましたが、なぜマクロで実行したいのでしょうか?
各処理は、関数式と条件付き書式で作成可能と思います。
それの方が、簡単で且つマクロを繰り返し実行する必要が無いのではと思います。
表組み変更などでも比較的容易に出来るのでは無いかと・・
もし、表を複数作る予定などであれば、Copyなど手作業で十分ですし簡単かと思いました。
ご回答ありがとうございます。
関数で行えば簡単なのですが、マクロを学習したいと思い
基礎的なところから少しずつ勉強しているところです。
No.3
- 回答日時:
#1 を回答した者です
>表の数値は適当に記入したので実際の平均値と一致していません。
販売数は4行目ごとにあり同じ判定を繰り返していきますが、こちらのマクロはまだ組めていません。
>その度に違うエラーで止まります。
このご質問と違う部分ではありますがエラーと言う意味で
https://oshiete.goo.ne.jp/qa/12960370.html
で掲示されているプロシージャも ご質問のコードも
プログラムで計算されている部分があります
Cells(j, i) / Cells(j + 1, i)
Cells(5, i).Value <= Cells(5, 10).Value
上記は 空白セルで実行するとエラー6など
0で除算するとエラー11、文字列で実行するとエラー13
などで処理が止まります。
また、#1にも触れましたが、対象セルにエラーが入っている場合も
型エラー13で止まります。
今後、問題になるかも知れませんのでキーワードと情報です
>表の数値は適当に記入した
言い換えるとあらかじめ参照先セルに正しく数値がすべて入力されていないと
エラーが返り、実行出来ないと言う事ですのでエラー対策を入れる必要があります
エラーを出さないと言う考え方だと
対象セルが文字でなく0でなく空白でなく、エラー表示されていない事を条件にする必要があります
実行場所により違うとは思いますが・・
エラーが出たらと言う考え方だと
On Error Resume Next や On Error GoTo ラベル などでしょうか
丁寧なご説明ありがとうございます。
マクロの勉強を数か月前から少しずつ始めたところで
まだまだ基本的なことが分かっていないと実感しました。
もう一度、1つずつ理解を深めて進めていきたいと思います。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) このマクロの説明文を教えてほしいです。 1 2023/01/12 09:17
- Visual Basic(VBA) 比較して等しくなかったらセルを赤くする 4 2022/07/19 20:11
- Visual Basic(VBA) ExcelVBAでDo Until loopのネスト、IF文を使って一致する物と一致しない物としたい 11 2022/12/24 17:46
- Visual Basic(VBA) 別シートから年齢別の件数をカウントしたいの続き 5 2023/01/24 00:16
- Excel(エクセル) マクロで最終行から上に検索を逆にしたい 1 2022/05/17 18:27
- Visual Basic(VBA) VBA 重複チェック後に値をワークシートに転記する方法を教えてください。 1 2023/03/19 12:43
- Visual Basic(VBA) VBA Userformで一部別シートに転記がしたいのですが 2 2023/05/24 13:08
- Visual Basic(VBA) 別シートから年齢別の件数をカウントしたい 6 2023/01/23 12:00
- Visual Basic(VBA) A列B列C列 3 2023/04/26 18:11
- Visual Basic(VBA) vba 最大値 条件分岐 4 2022/12/10 10:20
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VBAマクロ実行時エラーの修正に...
-
エクセルVBA 配列からセルに「...
-
特定の色のついたセルを削除
-
HTMLのテーブルのセルの値をPHP...
-
C# DataGridViewで複数選択した...
-
【VBA】写真の貼り付けコードが...
-
VBA 複数条件の分岐処理の上手...
-
VBA:日付を配列に入れ別セルに...
-
VB.netでのExcelデータの読み込み
-
マクロ初心者です。 マクロで範...
-
【Excel VBA】一番右端セルまで...
-
【VBA】【ユーザーフォーム_Lis...
-
VBA にて、条件付き書式で背景...
-
「Spread」のセルを移動させる...
-
下記のマクロの説明(意味)を...
-
EXCEL VBA 文中の書式ごと複写...
-
Excelで空白セル直前のセルデー...
-
同じフォルダ内にある複数の閉...
-
エクセルの合計を自動で表示さ...
-
データグリッドビューの結合セ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VBAマクロ実行時エラーの修正に...
-
Excelで空白セル直前のセルデー...
-
エクセルVBA 配列からセルに「...
-
Excel UserForm の表示位置
-
【Excel VBA】一番右端セルまで...
-
エクセルの合計を自動で表示さ...
-
【VBA】【ユーザーフォーム_Lis...
-
EXCEL VBA 文中の書式ごと複写...
-
下記のマクロの説明(意味)を...
-
Excel VBAでCheckboxの名前を変...
-
【VBA】写真の貼り付けコードが...
-
特定の色のついたセルを削除
-
VBA:日付を配列に入れ別セルに...
-
VBA にて、条件付き書式で背景...
-
DataGridViewのフォーカス遷移...
-
関数の引数でrangeを指定したとき
-
入力規則のリスト選択
-
DataGridViewで指定したセルの...
-
VBAでユーザーフォームにセル値...
-
複数指定セルの可視セルのみを...
おすすめ情報
説明不足ですみません。
各曜日の販売数と週の平均数を比較して各曜日の値が平均の値以下ならその値を赤字にしたいです。
例)月曜日の販売数25 と週の平均販売数55 を比較して月曜日の販売数が平均以下なので25を赤字にする。 これを火曜日、水曜日・・・・と繰り返します。表の数値は適当に記入したので実際の平均値と一致していません。
販売数は4行目ごとにあり同じ判定を繰り返していきますが、こちらのマクロはまだ組めていません。