
いつもお世話になっております。
この度、指定した文字を始点にスペースまで下線を引く
VBAについてご教示いただきたく質問させていただきました。
添付した画像を例としますと、セル内のみかんを始点にスペースまで
めろんを始点にスペースまでに下線を引きたいと思います。
マクロの記録を行ったところ
Sub Macro1()
'
' Macro1 Macro
Range("C3").Select
ActiveCell.FormulaR1C1 = "りんご みかん0120-1234-5678 めろん03-1234-5678 なし"
With ActiveCell.Characters(Start:=1, Length:=4).Font
.Name = "游ゴシック"
.FontStyle = "標準"
.Size = 11
.Strikethrough = False
.Superscript = False
.Subscript = False
.OutlineFont = False
.Shadow = False
.Underline = xlUnderlineStyleNone
.ThemeColor = xlThemeColorLight1
.TintAndShade = 0
.ThemeFont = xlThemeFontMinor
End With
With ActiveCell.Characters(Start:=5, Length:=17).Font
.Name = "游ゴシック"
.FontStyle = "標準"
.Size = 11
.Strikethrough = False
.Superscript = False
.Subscript = False
.OutlineFont = False
.Shadow = False
.Underline = xlUnderlineStyleSingle
.ThemeColor = xlThemeColorLight1
.TintAndShade = 0
.ThemeFont = xlThemeFontMinor
End With
With ActiveCell.Characters(Start:=22, Length:=1).Font
.Name = "游ゴシック"
.FontStyle = "標準"
.Size = 11
.Strikethrough = False
.Superscript = False
.Subscript = False
.OutlineFont = False
.Shadow = False
.Underline = xlUnderlineStyleNone
.ThemeColor = xlThemeColorLight1
.TintAndShade = 0
.ThemeFont = xlThemeFontMinor
End With
With ActiveCell.Characters(Start:=23, Length:=15).Font
.Name = "游ゴシック"
.FontStyle = "標準"
.Size = 11
.Strikethrough = False
.Superscript = False
.Subscript = False
.OutlineFont = False
.Shadow = False
.Underline = xlUnderlineStyleSingle
.ThemeColor = xlThemeColorLight1
.TintAndShade = 0
.ThemeFont = xlThemeFontMinor
End With
Range("A1").Select
End Sub
となりました。
Characters(Start:=1, Length:=4)
ここの記述が重要だと思うのですが、
ここからどの様な形に組み込むのかのご教示をお願いします。
どうぞよろしくお願いいたします。

No.3ベストアンサー
- 回答日時:
質問文をそのまま利用させて頂いたので。
>With Range("C3")
>.Value = "りんご みかん0120-1234-5678 めろん03-1234-5678 なし"
>こちらの構文もセルの内容に合わせ変えなくてはならないのでしょうか?
With Range("C3")
' .Value = "りんご みかん0120-1234-5678 めろん03-1234-5678 なし" ←この行は削除しても構いません。
' 既にデータが入力されているのであれば。
If myReg.Test(.Value) Then
No.2
- 回答日時:
一例です。
Sub megu()
Dim myReg As Object
Dim m
Set myReg = CreateObject("VBScript.RegExp")
myReg.Pattern = "(みかん|めろん)\S+"
myReg.Global = True
With Range("C3")
.Value = "りんご みかん0120-1234-5678 めろん03-1234-5678 なし"
If myReg.Test(.Value) Then
For Each m In myReg.Execute(.Value)
With .Characters(Start:=m.Firstindex + 1, Length:=m.Length).Font
.Underline = xlUnderlineStyleSingle
End With
Next
End If
End With
End Sub
めぐみんさん、回答ありがとうございます。
こちらのVBAで「みかん」と「めろん」を始点に
スペースまでに下線を引く処理ができました。
ありがとうございます。
重ねて質問なのですが、例えばC3の内容にりんごとなしの
入力ではなく、異なる文字データが入力されている場合は
With Range("C3")
.Value = "りんご みかん0120-1234-5678 めろん03-1234-5678 なし"
こちらの構文もセルの内容に合わせ変えなくてはならないのでしょうか?
理想とします処理は下線を引く処理だけにしたいと思っております。
よろしくお願いいたします。
No.1
- 回答日時:
>指定した文字を始点にスペースまで下線を引く
1.指定とはどのようにして与える予定?
2.下線さえ引ければ良いと言う事?
3.スペースまでとあるけど『その手前』になるのかな?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VBA セル間のリンク修正につい...
-
【マクロ】シートの変数へ入れ...
-
vba textboxへの入力について教...
-
Vba Array関数について教えてく...
-
複数のExcelファイルをマージす...
-
【マクロ】売上一覧YYYYMMDDHHS...
-
VBA 円グラフ 特定条件に一致し...
-
VBAでCOPYを繰り返すと、処理が...
-
【マクロ】並び替えの範囲が、...
-
vbsでのwebフォームへの入力制限?
-
VBAの「To」という語句について
-
Excel VBA 選択範囲の罫線色の...
-
【マクロ】開いているブックの...
-
Vba セルの4辺について罫線が有...
-
エクセルの改行について
-
改行文字「vbCrLf」とは
-
算術演算子「¥」の意味について
-
以下のプログラムの実行結果は...
-
VB.net 文字列から日付型へ変更...
-
VBAでセルの書式を変えずに文字...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excel VBA 見本通りに...
-
JSONパース時に改行があるとエ...
-
C#のシリアル通信プログラムで...
-
JavascriptでIMEのON,OFF制御
-
ASCII文字列以外を検出する正規...
-
stray '\\240' in programのエ...
-
ASP.NET TextBox 入力制限
-
半角スペースを含む文字列を変...
-
氏名の入力チェックに全角スペ...
-
なぜtabによるインデントはいけ...
-
ホームページ制作でコピーライ...
-
(再投稿) Word VBA マクロ スペ...
-
ローマ数字などの文字化け対策...
-
Eclipseの空白が変な...
-
入力されたテキストが、全角か...
-
教えてください
-
ボタンコントロールのTEXT...
-
ソースコードのインデントについて
-
ソースコードの改行文字は何に...
-
インデントのEBNFについて
おすすめ情報