[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『ユーザー定義で文字の色と大きさを変える』(しんき)
ここの掲示板にはお世話になっております。
質問ですが、現在セルの書式設定をユーザー定義で「"OK"##"人"」 としております。 最初の"OK"のところだけ文字サイズを大きくし、色を赤くしたいのですが、 可能でしょうか。 検索で調べてもうまくヒットしなかったので、どなたかアドバイスをお願いします。
Excel2003,Windows2000
レスがついてないですね。ユーザー定義では無理ではないでしょうか。マクロでお試しを。 当該セルがA1という前提で、セルの書式を標準にして、
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Target.Cells(1, 1).Address <> "A1" Then Exit Sub If Range("A1").Value = "" Then Exit Sub If Left(Range("A1"), 2) = "OK" Then Exit Sub
Range("A1").Value = "OK" & Range("A1").Value & "人" With Range("A1").Characters(Start:=1, Length:=2).Font .FontStyle = "太字" .Size = 14 .ColorIndex = 3 End With
End Sub
で、どうでしょうか。文字サイズ等は変更してください。
(ken)
ken さん 同じような質問がありましたけど、 数値、あるいは数式より導かれた値はセルの部分的文字列の変更はできません。 いったん文字列に変更する必要があるし、おそらく書式のユーザー設定も解除 しないといけないのでは?
>If Left(Range("A1"), 2) = "OK" Then Range("A1").Textじゃないと拾えないのでは?(seiya)
しんき さん 数値として使用できなくなるだけではなく、元へも戻せませんが。
Sub test() Dim r As Range, temp As String For Each r In ActiveSheet.UsedRange If r.NumberFormat = """OK""##""人""" Then With r temp = .Text .NumberFormat = "@" .Value = temp With .Characters(1, 2).Font .Size = 16 .Color = vbRed .Bold = True End With End With End If Next End Sub (seiya)
seiya さんへ。 なるほど、なるほど。勉強になります。まだまだ ken も勉強の身なので、これからも教えてやってください。
いつもseiya さんのスムーズなマクロ見て、感心していますので。
(ken)
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.