Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


8826 / 13646 ツリー ←次へ | 前へ→

【30750】条件に適合しているセルに色をつける あい 05/11/4(金) 13:55 質問[未読]
【30751】Re:条件に適合しているセルに色をつける かみちゃん 05/11/4(金) 14:00 発言[未読]
【30754】Re:条件に適合しているセルに色をつける あい 05/11/4(金) 14:15 お礼[未読]
【30755】Re:条件に適合しているセルに色をつける かみちゃん 05/11/4(金) 14:19 発言[未読]
【30833】Re:条件に適合しているセルに色をつける Mi 05/11/5(土) 15:58 回答[未読]
【30834】Re:条件に適合しているセルに色をつける Kein 05/11/5(土) 16:55 回答[未読]
【30964】皆さんのおかげで動作しました あい 05/11/8(火) 10:41 お礼[未読]

【30750】条件に適合しているセルに色をつける
質問  あい  - 05/11/4(金) 13:55 -

引用なし
パスワード
   条件1.A1が未記入(ブランクセル)
条件2.A2が未記入(ブランクセル)
表示 A2はセルの色は無し

条件1.A1が記入(セルにデータあり)
条件2.A2が未記入(ブランクセル)
表示 A2はセルの色を青にする

条件1.A1が記入(セルにデータあり)
条件2.A2が記入(セルにデータあり)
表示 A2はセルの色を赤にする

上記"A2"のところをA3、A4〜A10と変化させたいです。
よろしくお願いいたします。

【30751】Re:条件に適合しているセルに色をつける
発言  かみちゃん  - 05/11/4(金) 14:00 -

引用なし
パスワード
   こんにちは。かみちゃん です。

>上記"A2"のところをA3、A4〜A10と変化させたいです。

A2のときのコードはできているということでしたら、提示してみてください。

Dim c As Range
For Each c In Range("A2:A10)
 〜
Next
でたぶんできるのですが・・・

【30754】Re:条件に適合しているセルに色をつける
お礼  あい  - 05/11/4(金) 14:15 -

引用なし
パスワード
   ▼かみちゃん さん:
>こんにちは。かみちゃん です。
>
>>上記"A2"のところをA3、A4〜A10と変化させたいです。
>
>A2のときのコードはできているということでしたら、提示してみてください。
>
>Dim c As Range
>For Each c In Range("A2:A10)
> 〜
>Next
>でたぶんできるのですが・・・
早速の返信ありがとうございます。
VBA初心者の為、コードはぜんぜん出来ていません。

【30755】Re:条件に適合しているセルに色をつける
発言  かみちゃん E-MAIL  - 05/11/4(金) 14:19 -

引用なし
パスワード
   こんにちは。かみちゃん です。

>VBA初心者の為、コードはぜんぜん出来ていません。

条件分岐については、If...Then...Else ステートメントのヘルプを一度見てみてください。
また、セルの色つけは、「マクロの記録」で記録すると、ある程度のコードは自動
的に記述されますので、確認してみてください。
まずは、A2セルについての部分だけのコードを作ってみてください。
あとは、応用です。

【30833】Re:条件に適合しているセルに色をつける
回答  Mi  - 05/11/5(土) 15:58 -

引用なし
パスワード
   ▼あい さん:
条件の意味合いが今ひとつ分かりにくいのですが・・・最終結果から判断すると
Sub test()
Dim i As Integer

For i = 1 To 10
  If Cells(i, 1) <> "" Then Cells(i, 1).Font.ColorIndex = 4
Next i
For i = 1 To 10
  If Cells(i, 1) <> "" And Cells(i, 1).Offset(1) <> "" Then _
  Cells(i, 1).Offset(1).Font.ColorIndex = 3
Next
End Sub

こんな事でしょうか?

この条件は10行まで行くとこの一現象で維持していないため
変動した結果を見ました。
>条件1.A1が未記入(ブランクセル)
>条件2.A2が未記入(ブランクセル)
>表示 A2はセルの色は無し
>
>条件1.A1が記入(セルにデータあり)
>条件2.A2が未記入(ブランクセル)
>表示 A2はセルの色を青にする
>
>条件1.A1が記入(セルにデータあり)
>条件2.A2が記入(セルにデータあり)
>表示 A2はセルの色を赤にする
>
>上記"A2"のところをA3、A4〜A10と変化させたいです。
>よろしくお願いいたします。

【30834】Re:条件に適合しているセルに色をつける
回答  Kein  - 05/11/5(土) 16:55 -

引用なし
パスワード
   Sub Test2()
  Dim Cnt As Integer

  Cnt = WorksheetFunction.CountA(Range("A1:A2"))
  With Range("A2")
   Select Case Cnt
     Case 0: .Interior.ColorIndex = xlColorIndexNone
     Case 1
      If IsEmpty(.Value) Then .Interior.ColorIndex = 5
     Case 2: .Interior.ColorIndex = 3
   End Select
  End With
End Sub

で、どうでしょーか ?

【30964】皆さんのおかげで動作しました
お礼  あい  - 05/11/8(火) 10:41 -

引用なし
パスワード
   皆さんの意見を参考にして下記きの記述で動作しました。
ありがとうございます。

Private Sub Worksheet_Calculate()
Dim i As Integer
Dim j As Integer
For j = 2 To 58
For i = 2 To 17
If Cells(18, j) = "" And Cells(i, j) = "" Then Cells(i, j).Interior.ColorIndex = xlColorIndexNone
Next i
For i = 2 To 17
If Cells(18, j) = "" And Cells(i, j) <> "" Then Cells(i, j).Interior.ColorIndex = 35
Next i
For i = 2 To 17
If Cells(18, j) <> "" And Cells(i, j) <> "" Then Cells(i, j).Interior.ColorIndex = xlColorIndexNone
Next i
For i = 2 To 17
If Cells(18, j) <> "" And Cells(i, j) = "" Then Cells(i, j).Interior.ColorIndex = 6
Next
Next

注)条件が若干違っています。
条件1.A1が未記入(ブランクセル)→A18
条件2.A2が未記入(ブランクセル)→A2〜A17

又よろしくお願いいたします。

8826 / 13646 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free