[[20140702080859]] 『VBA 土日祝の列の文字大きさを変えたい』(yuka) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『VBA 土日祝の列の文字大きさを変えたい』(yuka)

(sheet1)

     A    B
1   1/1  元日
2

(sheet2)

     A     B     C
1   1/1   1/2   1/3
2  (月) (火)  (水)

sheet1に縦並びで祝日マスタが入っています。
sheet2は、A1〜Z1に日付が入っているとして、土曜・日曜・祝日の場合は、3行目〜20行目の文字大きさを6にしたいです。

VBAでどのように行うのか、どなたかご教示頂けないでしょうか。
また、処理前にA1〜Z20の文字大きさリセット機能があれば助かります。

< 使用 Excel:Excel2003、使用 OS:WindowsXP >


 条件付き書式でもいけると思いますが、VBAでないといけないのでしょうか?
(カリーニン) 2014/07/02(水) 09:07

 条件付き書式ではフォントサイズは変更できないようですね。
 やはりVBAかな。
(カリーニン) 2014/07/02(水) 09:42

 条件付書式にはフォントサイズはなかったかもですね。
 文字のサイズだけですが、サンプルまで。

 Sub Sample()
     Worksheets("Sheet2").Activate
     Range("A1:Z20").Font.Size = 11  '// Typo 修正済み
     For i = 1 To 26
         If Weekday(Cells(1, i).Value) = vbSaturday _
         Or Weekday(Cells(1, i).Value) = vbSunday _
         Or Application.CountIf(Worksheets("Sheet1").Range("A:A"), Cells(1, i).Value) > 0 Then
            Range(Cells(3, i), Cells(20, i)).Font.Size = 6
        End If
     Next
 End Sub
(Mook) 2014/07/02(水) 09:47


 途中で仕様を勘違いしたことに気付いたけど、参考までに。
 366日版・・・
Sub 土日祝日()
    Dim 土日祝日 As Range
    Dim 祝日Tbl
    Dim i As Long, j As Long
    Sheets("sheet2").Rows("3:20").Font.Size = 11
    With Sheets("Sheet1")
        祝日Tbl = Application.Transpose(.Range("A1:A" & .Range("A" & .Cells.Rows.Count).End(xlUp).Row).Value)
    End With
    For i = 1 To UBound(祝日Tbl, 1)
        Set 土日祝日 = setRng(土日祝日, Cells(3, Evaluate("Match(""" & 祝日Tbl(i) & """,TEXT(Sheet2!A1:NA1,""YYYY/M/D""),0)")).Resize(18))
    Next i
    j = Evaluate("Match(""日"",TEXT(Sheet2!A1:NA1,""aaa""),0)")
    For i = j To 366 Step 7
        Set 土日祝日 = setRng(土日祝日, Cells(3, IIf(i = 1, 1, i - 1)).Resize(18, IIf(i = 1, 1, 2)))
    Next i
    土日祝日.Font.Size = 6
End Sub
Function setRng(ByVal a As Range, ByVal b As Range) As Range
    If a Is Nothing Then
        Set setRng = b
    Else
        Set setRng = Union(a, b)
    End If
End Function
 Mookさんの揚げ足取りみたいですが、3行目のコード、RnageをRangeですかね?
(稲葉) 2014/07/02(水) 10:37

 Range ですね ^^;;;。
 テストしたときに直したのですけれど、修正前のものを持ってきていたようです。

 指摘ありがとうございました。
(Mook) 2014/07/02(水) 12:51

コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.