1
非常に定期的に再利用するコードで上記のエラーが発生しています。私の人生は問題が何であるかを理解できません。VBAでVBAランタイムエラー1004、アプリケーション定義またはオブジェクト定義エラー
ws4.Range("F2:F" & LastRow).Formula = "=IF(D2="", E2, D2)"
次に、LastRow変数が動作しており、ws4が定義されています。迷っています。
おかげ
非常に定期的に再利用するコードで上記のエラーが発生しています。私の人生は問題が何であるかを理解できません。VBAでVBAランタイムエラー1004、アプリケーション定義またはオブジェクト定義エラー
ws4.Range("F2:F" & LastRow).Formula = "=IF(D2="", E2, D2)"
次に、LastRow変数が動作しており、ws4が定義されています。迷っています。
おかげ
は、空のExcelシートで次のように試してみてください:
Option Explicit
Public Sub Test()
Dim lastRow As Long
Dim rngCell As Range
lastRow = 5
For Each rngCell In ActiveSheet.Range("F2:F" & lastRow)
rngCell.FormulaR1C1 = "=IF(1=1,2,3)"
Next rngCell
End Sub
次にそれとあなたのコードの違いを見てみてください。あなたが正しいシートや他のものを参照していない可能性があります。シートをロックすることもできます(例:1004
)。または、いくつかのセルをロックすることができます。したがって、ループはあなたを助けることができます。
ワークシートがロックされているか保護されていますか? –
あなたの 'D2 =" "'は 'D2 =" "" "'ではないでしょうか?また、 'ws4'とは何ですか?ワークシート・オブジェクトである必要があります。 –
これは* single *セルに書き込むことができますか?たとえば、 'ws4.Range(" F2 ")=" IF(D2 = "" "、" E2、D2) "'? –