Gizport
1 回答
0
Share (facebook)
119
view
全般

VBA で セル範囲に条件付き書式を設定する VBA初心者です。Ex...

VBA で セル範囲に条件付き書式を設定する VBA初心者です。Excel2003を使っています。
どのように書いたらいいか、教えて下さい

A列に2〜500行まで、番号が入力されています。
B列は2〜500行までランダムで、空白か「*」が入っています。
それぞれ1行目はタイトルです。

A列のセルの隣のセルが空白か*かで、A列のセルを色分けしたいと思っています。
空白なら黄色、*なら灰色です。
B2が空白ならA2を黄色。
B3が*ならA3を灰色、というように。

1度,「マクロで記録」を使って
以下のようにエクセルを操作して記録したのですが、
その後のマクロの実行がうまく動きません。

操作は
記録の開始

A2:A500を選択(A2がアクティブ)

条件付き書式の設定

条件1:数式が「=B2="*"」と等しいとき、パターン灰色
条件2:数式が「=B2=""」と等しいとき、パターン黄色

Ctrlを押しながらOK

記録の終了

すると以下のようなコードが書かれました。

Range(Cells(2, 1), Cells(500, 1)).Select
Selection.FormatConditions.Delete
Selection.FormatConditions.Add Type:=xlExpression, Formula1:="=B2=""*"""
Selection.FormatConditions(2).Interior.ColorIndex = 15
Selection.FormatConditions.Add Type:=xlExpression, Formula1:="=B2="""""
Selection.FormatConditions(3).Interior.ColorIndex = 6

しかしマクロを実行しても、A列セルの色はすべて同じ。
B2ですべて判断されているようです。
ただ、実行した後で例えばA100で条件付き書式を見てみると、
B100のセルによって色分けされるように式は書かれています。

コードの問題でしょうか?
それとも別の、エクセルのファイルの問題でしょうか?

マクロを実行した後でもB列のデータは変更します。
その変更によってもA列の色はちゃんと変わるようにしたいので、
条件付き書式を使って色分けさせたいのですが。。。

よろしくお願いします
Yahoo!知恵袋 5178日前
コメントする
お気に入り
1
質問者が選んだベストソリューション
通常、VBAでは条件付き書式なんて使いません。
If…Then…Elseステートメントを使って条件に合っているかどうかを判断し色付けを行います。さらに、doステートメントやforステートメントを使ってセル範囲に繰り返します。

例えば、A2:A500のセル範囲に「*」が入力されていたら灰色に塗りつぶし、空欄ならば黄色に塗りつぶすには下のようなコードになるでしょう。

For i = 2 To 500

If Cells(i, "B") = "*" Then
Cells(i, "A").Interior.ColorIndex = 15 ' 25%灰色
ElseIf Cells(i, "B") = "" Then
Cells(i, "A").Interior.ColorIndex = 6 ' 黄色
Else
Cells(i, "A").Interior.ColorIndex = xlNone ' 色なし
End If

Next i

補足に対する回答です。

条件付き書式はExcelの機能です。
あえてVBAにする必要はないと思うのですが…。
普通に条件付き書式を設定するのがbestではないかと思います。
Yahoo!知恵袋 5177日前
シェア
 
コメントする
 

参考になったと評価
  このQ&Aは参考になりましたか?

Share (facebook)
その他の解決方法を知っていますか?
回答する
全般
74
Views
質問者が納得ドライバはインストールしましたか? 基本的な初期設定されてますか? パソコンが何かにもよりますしね。
4421日前view74
全般
62
Views
質問者が納得B2に以下のように入力して、B22までコピーして下さい。 =INDEX(Sheet1!$A$101:$A$150,INT(RAND()*50)+1) 表示させたい範囲を変更する場合は Sheet1!$A$101:$A$150 の"101"と"150"の部分をそれぞれ変更。同時に、RAND()*50 の"50"を単語の数(例では101~150までの50単語)に合わせて修正し、その修正した関数を再度B22までコピーして下さい。
4461日前view62
全般
68
Views
質問者が納得ICONIA TAB の W ならタブレットPC ですが、 Aシリーズはタブレット端末ってヤツですね。 >ノートPCと同じくネットが見れると考えてよいのでしょうか? むりです。 パソコンではなく、携帯電話の親戚です。 補足 3Gは積んでないので、勝手に通信はしません。 無線ランは持ってますよね? 無いと、インターネットとかできませんけど。
4471日前view68
全般
81
Views
質問者が納得【無線LAN Q&A情報】を参考にして下さい。 http://buffalo.jp/qa/wireless/index-airstation-01.html バッファロー、アンドロイド端末をワンタッチでWi-Fi接続できる「AOSS for Android」の提供を開始 AOSS for Androidは、バッファロー独自の無線LAN簡単設定システムである。 「AOSS」をアンドロイド端末からでも実行できるようにするアプリで、バッファロー製 無線LANルーターとのWi-Fi接続をボタンひとつで行う...
4510日前view81
全般
108
Views
質問者が納得IS03で(PdaNet使って)USBテザリング出来るのはPCが対象。WiFiテザリング使って下さい。あと、PdaNet入れるのはIS03の方だけどPdaNetの使用レビューをよく見てヒントを先に探しておいた方が良いかと。Web上で紹介している記事も有ります。→http://www.google.co.jp/search?hl=ja&source=hp&q=pdanet+is03&lr=&gbv=2&oq=pdanet+is03>捕捉IS03だとwifiテザリン...
4541日前view108

取扱説明書・マニュアル

1105view
http://fujifilm.jp/.../ff_finepixa400a500_mn_j100.pdf
148 ページ3.72 MB
もっと見る

関連製品のQ&A