ファイルへのパスが多いスプレッドシートがあります。私は、次の式を使用して、列の各セルの最後の "\"を置き換えます。これをマクロに変更して、各列をペーストしてドラッグする必要はありません。最後に出現した文字を置換する
=SUBSTITUTE(K2,"\","?",LEN(K2)-LEN(SUBSTITUTE(K2,"\","")))
私はマクロを記録しようとしましたが、これが唯一つのセルではなく動作し、アクティブセルがO列
Sub Macro4()
ActiveCell.FormulaR1C1 = _
"=SUBSTITUTE(RC[-4],""\"",""?"",LEN(RC[-4])-LEN(SUBSTITUTE(RC[-4],""\"","""")))"
Range("O2").Select
End Sub
にある場合にのみ、私は、これはO列に値を入れている必要があります活動セルが何であるかにかかわらず、K2で始まる各空でないKについてO2から開始する。ここで
なぜ、あなたの範囲を定義し、各セルのためにループのためにしませんか? – Tyeler
Kの最後の行を 'lstRw'のような変数に置きます。' Range( "O2:O"&lstrw).FormulaR1C1 = _ "= SUBSTITUTE(RC [-4]、" "、" "、"? ""、LEN(RC [-4]) - LEN(SUBSTITUTE(RC [-4]、 "\" "、" ""))) "'最後の行の検索方法ここをクリックしてください:http://stackoverflow.com/questions/11169445/error-in-finding-last-used-cell-in-vba –
ありがとう、私の結果を投稿しようとします。 – Nolemonkey