advanced help
per page, with , order by , clip by
Results of 1 - 1 of about 19635 for 20�����������������������... (0.004 sec.)
[[20150210133718]]
#score: 2681
@digest: 4d1d633b65d54e6c73aec8cde9552191
@id: 67250
@mdate: 2015-02-10T06:45:15Z
@size: 4003
@type: text/plain
#keywords: 適応 (9584), 現? (5655), firstindex (4202), ト書 (4166), 太字 (2949), pattern (2633), myrng (2482), 応さ (2466), characters (2438), 抜い (2179), 「12 (2055), 判別 (1894), 「22 (1715), execute (1494), 葉足 (1454), vbscript (1333), に適 (1134), colorindex (954), font (931), 2015 (875), 火) (872), 。mo (858), 「20 (854), 適用 (832), ル内 (770), 駄目 (699), mook (653), 字) (646), 同時 (610), で完 (592), ォン (579), 行目 (575)
『セル内の文字(数字) の一部にだけフォント書式を適用したい。』(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 > ---- すみません、最後のところで矛盾しています。 完成系では1行目の「12」と3行目の「20」に適応されることが目的です。 まずは、「12」のみと思いやっていたので上記のコメントになっています。 (Excel知りたい) 2015/02/10(火) 13:52 ---- .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 ---- 「^」を抜いてしまうと、13-20 のような場合、後ろの 20 にも色が付いちゃいますから、抜いては駄目かと。 (???) 2015/02/10(火) 15:07 ---- 正規表現? 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さん、βさん、seiyaさん、誠にありがとうございます。 Mookさんの方法で完全に目的が達成されました。 本当にありがとうございました。 「^」を抜くと 20-20の場合は前の「20」のみ適応されるのですが、 16-20の場合は後ろの「20」に適応されてしまうようで、 前のみに対応させたかったのでMookさんの方策がベストでした。 あとから質問を読み直すと言葉足らずでした。 βさんすみません。前側のみをターゲットにしていました。 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 ...
http://www.excel.studio-kazu.jp/wiki/kazuwiki/201502/20150210133718.txt - [detail] - similar
PREV NEXT
Powered by Hyper Estraier 1.4.13, with 97032 documents and 608010 words.

訪問者:カウンタValid HTML 4.01 Transitional