セルの残りの内容のフォーマットを失うことなく、セル内で最初に出現する「<」と「>」を削除しようとしています。
私はここのいくつかの場所、および他の場所を調べましたが、役に立ちませんでした。
これが私がやろうとしていることです:
「A1」にテキストが含まれていると言います。
"This is <a> long string with several <occurrences> of a <special> character."
いずれにせよ、私がやろうとしているのは、「>」を削除することです。完璧な世界では、「<」と「>」だけでなく、太字の書式を維持しながら、それらを含む最初の単語から「<」を削除します。それらを含む次の単語に。
これは、問題が発生しているコードの前に実行されている他のコードのみです。
inTx = Range("A2").Value
outTx = Replace(inTx, "Init_Day", Range("A3").Value)
Range("A2").Value = outTx
<placeholder>
これにより、テキストが実際のテキスト(この場合は2桁の数字)に置き換えられます。
これが私のために機能していないコードです:
SearchString = Range("A2").Value
Char1 = "<"
Char2 = ">"
For i = 1 To Len(SearchString)
If Mid(SearchString, i, 1) = Char1 Then
startPos = i
Exit For
End If
Next i
For i = 1 To Len(SearchString)
If Mid(SearchString, i, 1) = Char2 Then
endPos = i
Exit For
End If
Next i
Range("A2").Characters(startPos, endPos - startPos).Font.Bold = True
Range("A2").Characters(startPos - 1, 1).Delete
最後の行に到達するまで、すべてのコードは正常に機能します。
Range("A2").Characters(startPos - 1, 1).Delete
その後は何も起こりません。
私も試しました:
Range("A2").Characters(startPos - 1, 20).Delete
まだ何も...
これは簡単なはずですが、理解できないようです。
前もって感謝します。