[[20180815214734]] 『VBA:シートに文字サイズや字体の制限をかける』(S201710) ページの最後に飛ぶ

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

 

『VBA:シートに文字サイズや字体の制限をかける』(S201710)

いつもお世話になっております。

エクセルVBAについてです。
シートに文字サイズや字体などの制限をかけることは可能でしょうか?

例えば、文字サイズを14以上にできない、などなどです。

どうでしょう?

< 使用 Excel:Excel2010、使用 OS:Windows7 >


Excelは表計算アプリなためだと思いますが、フォントを変えてもイベントが拾えないので、無理だと思います。 値が変わった事なら Worksheet_Calculate で対応できるのですが、フォントを変えても再計算する必要はないので、反応しません。

制限をかけたいならば、VB.NETとか使って、グリッドコントロールにしてはいかがですか? Excelでは、せいぜいブックを開く/閉じる時とかアクティブにするときとか、検出できるタイミングでの全チェックしかできないと思いますよ。
(???) 2018/08/16(木) 09:18


Private Sub Worksheet_Change(ByVal Target As Range)
    '文字サイズが14以上であれば14にする。
    Dim c As Range, i As Long
    For Each c In UsedRange.Cells
        If c.Value <> "" Then
            For i = 1 To Len(c.Value)
                        If c.Characters(Start:=i, Length:=1).Font.Size > 14 Then c.Characters(Start:=i, Length:=1).Font.Size = 14
            Next i
        End If
    Next c
End Sub
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    Worksheet_Change Target
End Sub
(mm) 2018/08/16(木) 09:41

二方とも真剣に回答頂き、誠にありがとうございます!
(S201710) 2018/08/16(木) 23:31

コメント返信:

[ 一覧(最新更新順) ]


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