- ベストアンサー
VBA 数式の入力方法
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
私から見れば、無駄以外の何物でもありませんが、 Cells(i, "N") = "=IF(LEN(C" & i & ")=10,0&C" & i & ",C" & i & ")"
その他の回答 (2)
- SI299792
- ベストアンサー率47% (772/1616)
普通にに入力したら、 = "=IF(LEN(C11)=10,0&C11,C11)" 「11」👉「" & i & "」 に置き換えます。
- SI299792
- ベストアンサー率47% (772/1616)
C11 ~C列のデータの最後まで数式を入れるとして、 範囲指定をして数式を入力すれば、コピペと同じ、自動で変換してくれます。 Option Explicit ' Sub Macro1() Dim REnd As Long ' REnd = Cells(Rows.Count, "C").End(xlUp).Row Range("N11:N" & REnd) = "=IF(LEN(C11)=10,0&C11,C11)" End Sub ' ' どうしてもループにこだわりたいなら、時間がかかるのでお勧めしませんが、 Sub Macro2() Dim RInp As Long ' For RInp = 11 To Cells(Rows.Count, "C").End(xlUp).Row Cells(RInp, "N").FormulaR1C1 = "=IF(LEN(RC[-11])=10,0&RC[-11],RC[-11])" Next RInp End Sub
補足
有難うございます。 「11」はループにて変わる為、 "=IF(LEN(C11)=10,0&C11,C11)" の部分を、"=IF(LEN("C" & i)=10,0&("C" & i),("C" & i)) の様にしたいのですが、理解が足りずエラーとなります。お時間頂けたら宜しくお願い致します。
お礼