ポイントを変えるには?関数かマクロか
どちらが簡単ですか、またその方法は?
通常の関数では できないですね。
以下に自前で 関数を作成しましたので、これで できます。
文字のポイントって サイズですよね?
なお 使い方は
複数のセルを選択して
ChangeFontSize 文字,ポイントサイズ
で呼び出します。
例
ChangeFontSize "f", 9
ちなみに 文字は 一文字じゃないと 一致しません。
Sub ChangeFontSize(moji As String, sz As Integer) With Selection Set c = .Find(moji, LookIn:=xlValues) If Not c Is Nothing Then firstAddress = c.Address Do '見つかった文字のサイズ変更 For i = 1 To Len(c) If moji = Mid(c, i, 1) Then c.Characters(Start:=i, Length:=1).Font.Size = sz End If Next i Set c = .FindNext(c) Loop While Not c Is Nothing And c.Address <> firstAddress End If End With End Sub
数式だと書式は変更できないので、マクロでやるとしてこんな感じです。
最初の方の文字列とポイントを変更して実行してみてください。
Sub CangePoint() 'ポイントを変える文字列を指定してください。 Const key As String = "abc" 'ポイントを指定してください Const fontSize As Integer = 14 Dim r As Range Dim st As Integer Dim fAddress As String Set r = Cells.Find(key, lookat:=xlPart, MatchCase:=True) If r Is Nothing Then Exit Sub fAddress = r.Address Do st = InStr(1, r.Value, key) While st > 0 r.Characters(st, Len(key)).Font.Size = fontSize st = InStr(st + 1, r.Value, key) Wend Set r = Cells.FindNext(r) Loop While Not r Is Nothing And r.Address <> fAddress End Sub
有難うございました、が
私には難解でした
有難うございました、が
私には難解でした