「だるころ」(だぁ~るまさんがこぉ~ろんだ♪)

「だるころ治療院」を開設しようと思って、はてなブログを作りました。 https://darucoro.com/

VBAを楽しむ日2


スポンサーリンク

★読者登録お願いします

VBAを楽しむ日2◆ 
◆土曜日◆

 

 

◆日曜日◆

 

 

今回も訪問して下さりありがとうございます。

 

今回は以前VBAで作ったカレンダーの土曜日&日曜日の見た目をよくするや~つですねぇ~。やっぱり土日は文字の色を変えたくなります。

 

文字に色を付ける

もちろん、このカレンダーの場合は日曜日・土曜日の位置は固定されてるので…。

 Range("B5:B10").Font.ColorIndex =vbRed

 Range("H5:H10").Font.ColorIndex =vbBlue

こんな単純なコードでも文字の色は変わります。

でも、やっぱりVBAらしく自分なりのコード書きたくなるんですよねぇ〜。

 

コード紹介

Sub irowake()
  For i = 4 To Sheet1.Range("B4").End(xlDown).Offset(6, 0).Row
  For j = 4 To Sheet1.Range("B4").End(xlDown).Offset(6, 0).Row
       
       If Weekday(ActiveSheet.Cells(i, 2).Value, 1) = 1 Then
       
       Cells(i, 2).Font.ColorIndex = 38
       
       If Weekday(ActiveSheet.Cells(j, 8).Value, 1) = 7 Then
       
       Cells(j, 8).Font.ColorIndex = 37
       
     
    End If
       End If
       
   Next j
     Next i

End Sub

※B4の最終行を取得して「B列」に日曜日があるので、その6つ先.Offset(6, 0).Rowになる「H列」の最終行を取得します。

え?でもなんで2回もForーNextの繰り返しを作るの?って思うかもしれないですね。

それはカレンダーの日曜日と土曜日が非対称だからです。

 

日曜日と土曜日が非対称

カレンダーは動かしてると生きてるみたいに変動しますもんね。

だから、どんなケースでもそこにある文字の色が変わるってコード書きたくなります。

それに、表の見た目とかやっぱりマイルドな色に仕上げたいとかありますもんね。

 

色を決めるIF構文

  If Weekday(ActiveSheet.Cells(i, 2).Value, 1) = 1 Then
       
       Cells(i, 2).Font.ColorIndex = 38
       
       If Weekday(ActiveSheet.Cells(j, 8).Value, 1) = 7 Then
       
       Cells(j, 8).Font.ColorIndex = 37
       
    End If
       End If

※もし、曜日が日曜日「1」だったら→ピンク「38」にして欲しい。

もし、曜日が土曜日「7」だったら→水色「37」にして欲しい。

その願いを叶えてくれたら終わって下さいの「 End If 」ですねぇ~。

 

◆後は飾り付け◆

 

ハッキリ言って、今回の日曜日と土曜日の色を変更出来たら後は簡単です!

ネットで調べたらいろんな飾り付けが出来ます。

 

ゲームより楽しいVBA

 

ちょっとした時間でもエクセルのこと考えてたら楽しいです。
ワードで絵を描いてるから「ワード好き」って思われてるかもですねぇー(笑)

実はエクセルも好きなんですよぉ〜。

 

◆中◆
◆級◆
◆編◆

 

Sub iro()
Dim r As Range

    For Each r In ActiveSheet.Range("B14:H24")
    With ActiveSheet.Range(r.Address)
    .Value = r
    .Interior.Color = r.DisplayFormat.Interior.Color
    End With
    Next r
    
    Range("B14:H24").BorderAround Weight:=xlThin
    
End Sub

 

※最後のB14からH24までを白く囲ってますよね。

ここは少しVBAを自分なりに楽しんでみました。

こんな難しいコードにする必要はないのかもです。でも、白く囲ってもセルを一つ一つ選べるなんて形に拘ってみました[笑]

 

※これは僕が勝手に考えてるコードなので、もっと良い方法もあると思います。

きっと色んな方法で日曜日・土曜日の色って変更出来るんだろうなぁ~。

考えて記述するのが面白いので、自分で考えたコードを紹介しました!

 

またお越しいただける日を
心よりお待ち申し上げております。
 
ワードプレス記事
「日常生活での健康アドバイス」も
よろしくお願いします。

 

「手首を痛めてませんか?」

 
☆D-BLOG☆
プライバシーポリシー