
初心者です。
エクセル2010を使用しています。
社内のエクセルシートで工事の依頼を物件ごとに記入していきます。(A:N)
工事完了後、(A:N)に色を付けます。
毎回パレットで選んでいます。色番は16777164
マクロで一連の動作を記憶させ、ボタン一つで出来るようには作れたのですが、元々色の付いている箇所だけはそのままの色にしたいのです。
元々色がついてる理由ですが、工事には材料が必要なのですが、仕入れて請求が来るのが月末となります。金額の入力を忘れない為に色を付けています。
そういった場合はどのようなプログラムになるのでしょうか。
ご教示お願い致します。
No.3ベストアンサー
- 回答日時:
> なので、終わった工事の行を選択し、1クリックで塗りつぶすボタンを作りたいのです。
選択した範囲 = Selection
選択した範囲の行 = Selection.EntireRow
選択した範囲の行 の A:N = Range("A:N (" & Selection.EntireRow.Address(0, 0) & ")")
Sub Re8762667od()
Dim c As Range
If TypeName(Selection) <> "Range" Then Exit Sub
For Each c In Range("A:N (" & Selection.EntireRow.Address(0, 0) & ")")
If c.MergeArea(1).Interior.ColorIndex = xlColorIndexNone Then
c.MergeArea.Interior.Color = 16777164
End If
Next
End Sub
> なので、終わった工事の行を選択し、1クリックで塗りつぶすボタンを作りたいのです。
> この黄色のセルだけ塗りつぶさず、他のセルを塗りつぶしたいのです。
黄色 = 65535 = vbYellow
Sub Re8762667od2()
Dim c As Range
If TypeName(Selection) <> "Range" Then Exit Sub
For Each c In Range("A:N (" & Selection.EntireRow.Address(0, 0) & ")")
If c.MergeArea(1).Interior.Color <> vbYellow Then
c.MergeArea.Interior.Color = 16777164
End If
Next
End Sub
No.2
- 回答日時:
こんばんは!
>仕入れて請求が来るのが月末となります。金額の入力を忘れない為に色を付けています。
すなわち、請求書が来るとその列に請求額が記入されるわけですね?
条件付き書式を使ってはどうでしょうか?
表の具体的なレイアウトが判らないので、勝手にH列を「請求金額」を記入する列とした場合です。
A~N列すべてを範囲指定 → 条件付き書式 → 新しいルール → 数式を使用して・・・ → 数式欄に
=AND($A1<>"",$H1="")
として → 書式 → 塗りつぶし → カラーパレットから好みの色を選択(色がなければ「その他の色」から選択)しOK
これでA列に何らかのデータが入り、H列が未入力の場合にA~N列に色が付きます。
(H列にデータを入力した段階で色が消えます)
※ 数式内の$A1部分はA列でなくても構いません、A列に通し番号が入っている場合があると思いますので、
Aの部分は「取引先」など必ず何らかのデータを入れる列にします。
当然H列も実際の「請求金額」を入れる列とします。m(_ _)m
No.1
- 回答日時:
こんにちは。
普通にVBAらしく書くと、こんな感じでしょうか。
A:N のように列を丸ごと指定するのは、
処理も遅く、ファイルサイズが肥大化しますから、
(↑これはExcelの仕様の問題です)
行数を絞って指定する必要があります。
For Each c In Range("A2:N101")
セル範囲は、仮に、A2:N101 にしていますが、
適宜指定し直してください。
行数が一定ではないシートの場合、普通は、
基準となる列(空セルが無い列)を決めておいて、
最下行を取得します。
例えば、A列には空セルが無い、という前提で、
A列の最下行を取得する場合は、
For Each c In Range("A2:N" & Cells(Rows.Count, "A").End(xlUp).Row)
のように書換えることになります。
B列には空セルが無い、という場合なら、
"A"を"B"に書き換えるような要領で修正してください。
Sub Re8762667()
Dim c As Range
For Each c In Range("A2:N101") ' ← 要指定 セル範囲
If c.MergeArea(1).Interior.ColorIndex = xlColorIndexNone Then
c.MergeArea.Interior.Color = 16777164
End If
Next
End Sub
この回答への補足
説明が足らず、申し訳ございません。
A3~N3までは担当者、依頼元、物件名、号室、間取り、入居中か空室か、発注店1、発注店2、発注店3、工事金額、発注金額1、発注金額2、発注金額3、工事金額から発注金額1~3を引いた金額
となっております。
記入方法は一行につきひとつの工事となります。
工事は何件も抱えているのですが、一気に全て終わる訳ではないです。
なので、終わった工事の行を選択し、1クリックで塗りつぶすボタンを作りたいのです。
発注店と発注金額のセルは必ずしも全て埋まる訳ではないです。
この発注店のセルに卸店、発注金額が後で入る事になります。なので、忘れない為にそのセルだけ黄色く塗ってあります。
この黄色のセルだけ塗りつぶさず、他のセルを塗りつぶしたいのです。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) エクセルで”入力シート”の文字書式の変更を”出力シート”で同じ文字書式で印刷したいです。VBA希望 4 2023/04/24 11:07
- Excel(エクセル) エクセル 条件に合う日付に入力された時間数の合計したい 4 2022/06/17 22:18
- Excel(エクセル) シートが違う2枚のエクセルシートにある数値を別シートにコピーしたい(VBA?) 8 2022/03/31 12:24
- Excel(エクセル) エクセルの祝日に色が反映しない 4 2022/05/18 09:58
- Excel(エクセル) セルに特定の色が出た時だけ、式を発動させたい 4 2022/06/17 10:32
- Excel(エクセル) 条件に合った数値の合計を表示させたい関数と条件指定の方法 3 2023/05/13 16:07
- Excel(エクセル) エクセルで条件付き書式を使わずにセルの文字の色を変える方法を教えて下さい 8 2023/07/28 01:15
- Visual Basic(VBA) VBAについて教えてください 4 2022/11/10 12:44
- Visual Basic(VBA) エクセル365のVBAで困っています。どう修正したらよいか添削をお願いします 2 2023/05/03 17:35
- Excel(エクセル) エクセルの散布図で新たに入力した値のデータラベルが空欄になる現象 1 2022/04/26 09:31
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Excelで、あるセルの値に応じて...
-
Cellsのかっこの中はどっちが行...
-
vba 2つの条件が一致したら...
-
DataGridViewに空白がある場合...
-
URLのリンク切れをマクロを使っ...
-
B列の最終行までA列をオート...
-
Worksheets メソッドは失敗しま...
-
VBAを使って検索したセルをコピ...
-
【VBA】2つのシートの値を比較...
-
IIF関数の使い方
-
文字列の結合を空白行まで実行
-
エラーコード1004
-
複数の列の値を結合して別の列...
-
二つのリストを比べて部分一致...
-
VBAを用いて条件付きの平均値、...
-
VBAで重複データを確認したい
-
VBA 列が空白なら別のマクロへ...
-
マクロについて。S列の途中から...
-
数字が「0」の列を削除するた...
-
Excel VBA 初心者です 近似値を...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excelで、あるセルの値に応じて...
-
vba 2つの条件が一致したら...
-
Worksheets メソッドは失敗しま...
-
B列の最終行までA列をオート...
-
Cellsのかっこの中はどっちが行...
-
IIF関数の使い方
-
Changeイベントでの複数セルの...
-
【VBA】2つのシートの値を比較...
-
VBA 何かしら文字が入っていたら
-
URLのリンク切れをマクロを使っ...
-
VBAのFind関数で結合セルを検索...
-
DataGridViewに空白がある場合...
-
VBAを使って検索したセルをコピ...
-
文字列の結合を空白行まで実行
-
データグリッドビューの一番最...
-
VBAでのリスト不一致抽出について
-
エクセル 2つの表の並べ替え
-
rowsとcolsの意味
-
【Excel VBA】 B列に特定の文字...
-
VBA 列が空白なら別のマクロへ...
おすすめ情報