3
Iは式適用ている:B10それぞれ:B2の範囲に結果を書き込む、A10:範囲A2内のすべてのセルに数式内の範囲を動的に変更するにはどうすればよいですか?
=(SUBSTITUTE((LEFT(A2;(FIND("htt";A2;1))-3));";";";"))&RIGHT(A2;(LEN(A2)-(FIND("htt";A2;1))+3))
テキスト表現。これを行うには
私は、次のマクロを使用します。
Sub ColumnsFormat()
Dim s As String
Dim i As Integer, j As Integer
'Set wb = Workbooks("CSV_File.xlsm")
Application.ScreenUpdating = False
j = 1
For i = 2 To 10
s = "=(SUBSTITUTE((LEFT(R[" & Trim(Str(i)) & "]C[" & Trim(Str(j - 2)) & "],(FIND(""htt"",R[" & Trim(Str(i)) & "]C[" & Trim(Str(j - 2)) & "],1))-3)),"","","";""))&RIGHT(R[" & Trim(Str(i)) & "]C[" & Trim(Str(j - 2)) & "],(LEN(R[" & Trim(Str(i)) & "]C[" & Trim(Str(j - 2)) & "])-(FIND(""htt"",R[" & Trim(Str(i)) & "]C[" & Trim(Str(j - 2)) & "],1))+3))"
Sheets("Sheet1").Cells(i, 2).Value = s
Next i
End Sub
問題は、何らかの理由でFor
サイクル内の式の内部行番号が間違っているということです。 A2を取る代わりに。 A3; A4 ... A10セル(毎回行番号を1ずつ変更)、マクロはA2を通過します。 A4; A6など(行番号を2ずつ増やします)。
私は間違っていますか?
はい、あなたは正しいです。どうもありがとう! – Ale