こんにちは私はコードの編集方法を探していますので、文字列の始まりのフォント色を変える代わりに、ワークシートは、しかし、私はいつも私はそれを編集しようとすると、私はいつもランタイムエラーで終わる。任意の助けをいただければ幸い、ここに私の現在のコードは次のとおりです。特定の値が含まれている場合に文字列をコピーするためのVBAコード
Sub colorText()
Dim cl As Range
Dim startPos As Integer
Dim totalLen As Integer
Dim searchText As String
Dim endPos As Integer
Dim testPos As Integer
' specify text to search.
searchText = "(9)"
' loop trough all cells in selection/range
For Each cl In Range("A:A")
totalLen = Len(searchText)
startPos = InStr(cl, searchText)
testPos = 0
Do While startPos > testPos
With cl.Characters(startPos, totalLen).Font
.FontStyle = "Bold"
.ColorIndex = 3
End With
endPos = startPos + totalLen
testPos = testPos + endPos
startPos = InStr(testPos, cl, searchText, vbTextCompare)
Loop
Next cl
End Sub
VBAでのフィルタを使用した、あなたが速いそれを行うことができるはずですし、それをループを必要としない場合があります。あなたのデータはセルA1で始まりますか?テスト列にヘッダーはありませんか? –
範囲全体がいくつかの問題を引き起こす可能性があるので、私は列全体を使用することに対してアドバイスをします。 searchTextがcl.valueで見つかった場合は、searchTextの位置が重要ですか、別のシートに文字列をコピーしたいだけですか? –
投稿したコードで問題を再現できません。あなたのコードのどの行にエラーがありますか?あなたのコードのどの行が 'Copy'操作をしようとしているのですか? –