- ベストアンサー
お世話になります。エクセルマクロにてセルの塗りつぶしについてご教授願い
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
一例です。 test01・・・50色(カラーインデックス順)で色を付けます test02・・・赤→黒→赤の順に色を付けます。 sheet2のB3を基点にBI列で折り返します。 Sub test01() Dim Ws1 As Worksheet Dim Ws2 As Worksheet Dim i As Integer Dim j As Integer Dim k As Integer Set Ws1 = Worksheets("Sheet1") Set Ws2 = Worksheets("Sheet2") Ws2.Cells.Clear k = 1 For i = 1 To 50 For j = 1 To Ws1.Cells(i, "A").Value Ws2.Range("B3:BI65536").Cells(k).Interior.ColorIndex = i k = k + 1 Next j Next i Set Ws1 = Nothing Set Ws2 = Nothing End Sub '------------------------------------------------------------------------ Sub test02() Dim Ws1 As Worksheet Dim Ws2 As Worksheet Dim i As Integer Dim j As Integer Dim k As Integer Dim flg As Boolean Set Ws1 = Worksheets("Sheet1") Set Ws2 = Worksheets("Sheet2") Ws2.Cells.Clear k = 1 For i = 1 To 50 For j = 1 To Ws1.Cells(i, "A").Value If flg Then Ws2.Range("B3:BI65536").Cells(k).Interior.ColorIndex = 1 Else Ws2.Range("B3:BI65536").Cells(k).Interior.ColorIndex = 3 End If k = k + 1 Next j flg = Not flg Next i Set Ws1 = Nothing Set Ws2 = Nothing End Sub
その他の回答 (2)
- debunyanko-28
- ベストアンサー率33% (2/6)
#2です。 訂正です。 変数 i,j,k はLong型で宣言してください。 Dim i As Long Dim j As Long Dim k As Long
- web2525
- ベストアンサー率42% (1219/2850)
確認 ・A1~A50までの連続したセル範囲には必ず数値が入っているのか? (A1,A3,A4・・・など飛び飛びに数値が入ることはあるのか?) ・最大のA50まで数値が入力されている場合塗りつぶし色は50色必要とするのか? ・添付画像を見ると塗りつぶされていないセルもあるようですが、塗りつぶしの規則は提示条件以外にもあるのか? ・A列に入力された数値分の塗りつぶしの起点は別シートのどのセル? (添付画像では複数行にわたった塗りつぶしが行われていますが、どこかで折り返しされるのですか?)
補足
早速の回答有難う御座います (1)セルの範囲には必ず入っています 飛び飛びは無いです (2)50色は必要としません (3)塗りつぶししていないセルと言うか その列は赤⇒黒⇒赤と言った具合にしたいです (4)起点のシ-トはSheet2のどの列でも構いません(画像にはSheet2は有りませんが<(_ _)>) 折り返しは分単位で行いないので60セル塗りつぶしたら次の行から行いたいです 画像で言えば 起点のセルはB3 終点のセルはBI3で折り返してB11からです かなりの説明不足で大変申し訳ありませんがどうぞ宜しくお願いします
お礼
お礼が遅くなり申し訳ありません 助かりました