[[20051108125806]] 『ユーザー定義で文字の色と大きさを変える』(しんき) ページの最後に飛ぶ

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

 

『ユーザー定義で文字の色と大きさを変える』(しんき)

 ここの掲示板にはお世話になっております。

 質問ですが、現在セルの書式設定をユーザー定義で「"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.