[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『セル内の文字(数字)の一部にだけフォント書式を適用したい。』(Excel知りたい)
セル内の文字(数字)の一部にだけフォント書式を適用したい。
条件付き書式ではセル内全てに適応されてしまいます。
下記3種類が別々のセルにあるとします。
12-24
14-26
20-30
このうち1行目「12」のみに太字を適応するマクロができるものか、
できないのかも分からずに取り組んでいます。
ご教示いただけますと助かります。よろしくお願いいたします。
以下のページを参考に下記のマクロを実行すると、
http://www.eurus.dti.ne.jp/~yoneyama/Excel/vba/vba_cell_font.html
Sub mojiiro3()
Dim RE, c
Dim myRng As Range
Dim myStr As String
Dim i As Integer
Set RE = CreateObject("VBScript.RegExp")
With RE
.Pattern = "[¥61&¥62]+"
.Global = False
For Each myRng In Selection
For Each c In .Execute(myRng.Value)
With myRng.Characters(c.firstindex + 1, c.Length).Font
.ColorIndex = 3
.Size = 14
End With
Next c
Next myRng
End With
Set RE = Nothing
End Sub
1と2の部分すべてに適応されます。
具体的には、1行目の「12」と2行目14のうち「1」と3行目20のうち「2」に適応されてしまいます。
マクロでは1と2を1つずつ個別にみてしまうことしかできないのでしょうか?
「12」を1つとみなして判別できると嬉しいのですが、無理でしょうか?
実際には、先頭にある「12」「20」「22」「24」の4種類を同時に判別してこの部分だけを太字にしたいのです。
セルの値は数字の2桁-数字の2桁で決まっています。それ以外の桁数や数字以外のものは入りません。
長々とすみませんが、どうぞよろしくお願いいたします。
< 使用 Excel:Excel2013、使用 OS:Windows7 >
.Pattern = "[¥61&¥62]+" ではなく .Pattern = "^(12|20|22|24)" にして、どうでしょうか。 (Mook) 2015/02/10(火) 14:13
To Mookさん
失礼します。 「「12」「20」「22」「24」の4種類を同時に判別してこの部分だけを太字」ですから
^ は不要で、.Pattern = "12|20|22|24" ではないですか?
(β) 2015/02/10(火) 15:00
正規表現?
Sub test() Dim r As Range For Each r In Selection If Evaluate("or(left(" & r.Address & ",2)={""12"",""14"",""20""})") Then With r.Characters(1, 2).Font .ColorIndex = 3 .Size = 14 End With End If Next End Sub (seiya) 2015/02/10(火) 15:08
あとから質問を読み直すと言葉足らずでした。
βさんすみません。前側のみをターゲットにしていました。
Mookさん、私の言葉足らずな質問内容を的確にご判断下さり本当にありがとうございました。
以下で完璧に動作しました。
Sub mojiirofutoji()
Dim RE, c Dim myRng As Range Dim myStr As String Dim i As Integer Set RE = CreateObject("VBScript.RegExp") With RE .Pattern = "^(12|20|22|24)" .Global = False
For Each myRng In Selection For Each c In .Execute(myRng.Value) With myRng.Characters(c.Firstindex + 1, c.Length).Font .ColorIndex = 3 .Bold = True End With Next c Next myRng End With Set RE = Nothing End Sub
(Excel知りたい) 2015/02/10(火) 15:39
「「^」を抜いてしまうと、13-20 のような場合、後ろの 20 にも色が付いちゃいますから、抜いては駄目かと。 」
先頭のという意味を取り違えていました。 (最初に現れたと思い込み)
失礼しました。
(β) 2015/02/10(火) 15:45
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.