質問: excelのvbaで下線のついている文字列の前後の位置を取得したい。 excelのvbaで下線のついている文字列の前後の位置を取得したい。 例えば、下記のような文章で「sample」という文字列に下線がついている場合 「sample」の文字列の前後の位置(4,10)を取得したい これはsampleの文章です。 使用os:windows xp 使用ソフト:microsoft excel 2003 ご存知の方がおられましたらご回答をよろしくお願いします。
回答: アクティブのセルを検索し下線開始位置および終了位置を取得する一例です。 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