人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

エクセルのVBAでお願いします。エクセルのバージョンは2002です。
添付画像の通り、アクティブシートに教科名が入っているセルがあります。この任意セルの背景色を、2番目の画像の条件(設定シート)により変えて、一番右側のようなセル背景色にしたいと思っています。ただし、条件となる教科名は設定シートの通り、クラスにより変化しています。条件付き書式にならなくてもかまいません。よろしくお願いします。

1265859812
●拡大する

●質問者: anglar
●カテゴリ:コンピュータ
✍キーワード:VBA アクティブ エクセル クラス セル
○ 状態 :終了
└ 回答数 : 5/5件

▽最新の回答へ

1 ● SALINGER
●50ポイント ベストアンサー

これは条件付書式だけでできます。

設定シートの表を選択し「設定」などと名前をつけます。

次に条件付書式を設定するセルをF5から右下に選択し

条件付書式から

数式が
=OR(F5=VLOOKUP($A5,設定,2,FALSE),F5=VLOOKUP($A5,設定,3,FALSE))

にして塗りつぶしパターンをピンクにすればいいです。


で、質問はExcelVBAでということなので上記の処理をするマクロはこちら。

Sub Macro()
 Dim lastRow As Long
 Dim lastColumn As Long
 lastRow = ActiveSheet.Cells(Rows.Count, "F").End(xlUp).Row
 lastColumn = ActiveSheet.Cells(5, Columns.Count).End(xlToLeft).Column
 Worksheets("設定シート").Range("B2").CurrentRegion.Name = "設定"
 ActiveSheet.Range("F5").Select
 With Selection.Resize(lastRow - 4, lastColumn - 5)
 .FormatConditions.Delete
 .FormatConditions.Add Type:=xlExpression, Formula1:= _
 "=OR(F5=VLOOKUP($A5,設定,2,FALSE),F5=VLOOKUP($A5,設定,3,FALSE))"
 .FormatConditions(1).Interior.ColorIndex = 7
 End With
End Sub
◎質問者からの返答

いつもスゴイ解答で、びっくりさせられます。完璧です。条件付き書式の方も勉強になりました。ありがとうございました。P.Sプロフィールを初めて見せてもらいました。回答の速さの理由がすばらしいです。ポイントの入れ方を今後、気をつけます。m(_ _)m


2 ● kn1967
●33ポイント

アクティブシートのD5からI22までを選択しておいて、

条件付書式にて、

数式が =MATCH(D5,INDIRECT(CONCATENATE("設定!C",ROW()-2,":D",ROW()-2)),FALSE)

として、あとは「書式」で色を選択します。

◎質問者からの返答

この数式による条件付き書式もスゴイです。ありがとうございました。


3 ● jccrh1
●33ポイント

VBAではなく条件書式で対応した方がシンプルだと思います。

手順は以下の通りです。

1.条件の範囲に範囲名を指定します。
 範囲   範囲名
 B3:B20 クラス
 C3:C20 条件1
 D3:D20 条件2

2.B5に条件書式を設定します。
 ・「書式」メニュー→「条件書式」
 ・「数式が」「=SUMPRODUCT((クラス=$A5)*(条件1=B5))」
  書式を背景(ピンク等)に設定
 ・追加
 ・「数式が」「=SUMPRODUCT((クラス=$A5)*(条件2=B5))」
  書式を背景(ピンク等)に設定
 ・OKボタンを押す

3.B5をB5:Kn(nは時間割の最終行)に書式を複写する
 ・B5をコピー
 ・B5:Knを範囲指定
 ・「編集」メニュー→「形式を選択して貼り付け」
  「書式を選択」してOKボタンを押す

◎質問者からの返答

この数式もまたまたスゴイですね。勉強させていただきます。


4 ● yuuya-553
●0ポイント

ポイントほしー

◎質問者からの返答

他の方と違って、こういう人もいるんですね。


5 ● yuuya-553
●0ポイント

うごめもで通報するとグリひとつもらえるーー

◎質問者からの返答

できれば、回答しないでね。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ