• ベストアンサー
  • すぐに回答を!

ExcelのVBAで下線のついている文字列の前後の位置を取得したい。

ExcelのVBAで下線のついている文字列の前後の位置を取得したい。 例えば、下記のような文章で「sample」という文字列に下線がついている場合 「sample」の文字列の前後の位置(4,10)を取得したい これはsampleの文章です。 使用OS:Windows XP 使用ソフト:Microsoft Excel 2003 ご存知の方がおられましたらご回答をよろしくお願いします。

共感・応援の気持ちを伝えよう!

  • 回答数1
  • 閲覧数1148
  • ありがとう数2

質問者が選んだベストアンサー

  • ベストアンサー
  • 回答No.1

アクティブのセルを検索し下線開始位置および終了位置を取得する一例です。 Sub test01() Dim i As Integer, n As Integer, s As Integer, l As Integer i = Len(ActiveCell) For n = 1 To i If ActiveCell.Characters(n, 1).Font.Underline <> xlNone Then s = n Exit For End If Next If s > 0 Then For n = s + 1 To i If ActiveCell.Characters(n, 1).Font.Underline = xlNone Then l = n Exit For End If Next End If MsgBox "開始点:" & s & vbCrLf & "終了点:" & l End Sub

共感・感謝の気持ちを伝えよう!

質問者からのお礼

早速やってみたところ問題を解決することができました。 ご回答していただきどうもありがとうございました。

関連するQ&A

  • ExcelのVBAで文章にある複数の同じ文字列の位置をそれぞれ取得したい

    下記のような記述だと1つめのsampleの位置(9文字目)は取得できても 2つめのsample(25文字目)の位置を取得することができません。 どうすれば2つめの文字列の位置を取得することができるのでしょうか? moji = "This is sample text for sample." n = InStr(moji, "sample") 使用OS:Windows XP 使用ソフト:Microsoft Excel 2003 ご存知の方がおられましたらご回答をよろしくお願いします。

  • メールの文字列に下線が入ってしまう

    78歳の初心者です。このたびは御世話になります windows xp sp2,,,,OEバージョン(6)を使用しています メール。ワード。エクセルで文字列に下線が入ります、エンターキー を押すと消えます、この下線を入らないように出来ないでしょうか 何卒ご指導下さい

  • 画面から文字列を取得してその文字列の位置を知る方法

    こんばんは。 質問させてください。 画面から文字列を選択して、取得します。(これは出来ました。) その文字列がHTMLソースファイルの どの位置のものか取得する方法はありますでしょうか? ○番目の「こんばんは」を画面から取得した時に 同じ文字列があっても、○番目の位置が取得出来る方法なのですが・・・ ---- <HTML><HEAD></HEAD> <BODY> おはよう、こんばんは。 さようなら、ありがとう。 しつれいしました、おはよう、こんばんは。 こんばんは、さようなら。 さようなら </BODY> </HTML> ----

  • EXCELで文字列の特定の文字の位置を知る方法

    EXCELで文字列の特定の文字の位置を知る方法 EXCELでセル中の文字列、例えば、"abc 4/3 5/5 6/4" の最後の"/"の位置を知る方法を関数の組み合わせで出来ますか? 教えてください。"/"の数は任意で最後の"/"の位置を知りたいのですが??? どうかよろしくお願いします。VBAでなく関数の組み合わせでお願いします。

  • 選択した文字列の位置と文字数を取得したい(VBA)

    セルや図形にテキストを入力し、 そのテキストの一部分を選択した状態でマクロを実行した時に、 何文字目から何文字目までを選択しているのかを取得するコードを ご存知の方がおられましたら教えていただけませんでしょうか? 文字列の内容、選択する部分は決まっていません。 使用環境は、Windows7とMicrosoft Excel2010です。 よろしくお願いいたします。

  • エクセル VBA 特定の文字列

    エクセル VBA 特定の文字列 A列に、様々な文字列があるとします。 そのうち、りんごと書かれている行のみを別シートに書き出すマクロを教えてください。 お願い致します。

  • 文字列中からある文字列とある文字列の間にある文字列を取得

    表題にあるとおり間の文字列をどうやって取得するべきかと悩んでいます・・ abcdefghijklmn・・・ となっているとき bとe、aとkなど間の間隔が不定なときはどのようにして文字列を取得したらよいのでしょうか? 最初の2文字は与えられているとして考えています。 インターネットのURLで言うなら/から/までの間の文字列と言うことになります。 今私が考えているのは strchrで位置のアドレスを取得してそこからfor文かwhile文で指定の2文字目が出るまでまわすのかなぁ・・と思っています。 ですが具体的にどのような感じに書けばいいのかがわかりません。どなたかご教授ください。

  • 【VBA】 文字列の中から指定の文字列を取り出す

    VBAで文字列から指定の文字のn番目からn+1番目までの文字列を取り出すことは可能でしょうか? A1セルに下記の文字列があった場合、「1番目の半角スペースから2番目の半角スペースまでの文字列」を取り出したいのです。 5 53 00 8R この場合、53を取り出したいというわけです。 また、可能でしたら「最後の半角スペースから文字列の最後まで」を取り出す方法も教えていただけるとありがたいです。 この場合は8Rとなります。 InStr関数を使えばできるかもと思ったのですが、できそうなものが思い浮かびません。 どなたか教えていただけませんでしょうか。 よろしくお願いいたしますm(_ _)m

  • EXCEL VBA----文字列の一部を除いて取得したい

    セルの文字列の左の1文字を取得する場合は Left(string,1)でいいと思うのですが 左の1文字を取り除いた残りの文字列を取得する場合は どうすればよいのでしょうか? 文字列は複数あり、文字列の文字数は一定ではありません。(最大半角15バイト) ↓↓↓↓↓ このようにしたいのです。 ------------------------ abcde → bcde keaioph → eaioph uyt → yt dwpkmbvsz → wpkmbvsz ------------------------ よろしくお願いします。

  • Wordの選択した文字列をVBAを使用してExcelにペーストしたい

    a.docにある「サンプル」という文字列を選択後、 マクロの実行でb.xlsのA1にペーストするには どうすればよいのでしょうか? 使用OS:Windows XP 使用ソフト:Microsoft Excel 2003 ご存知の方がおられましたらご回答をよろしくお願いします。

専門家に質問してみよう