 <p>There are several issues:</p> <ul> <li>when you use <code>with</code>, you need to reference the object with <code>.</code></li> <li>the result of <code>Offset(x,y)</code> is a range, not a number - you are interested in the row, so you need to add <code>.Row</code></li> <li>the <code>End(xlUp)</code> thingy has to start from the last row to work</li> </ul> <p>This is probably what you meant:</p> <pre><code>Sub ONJL() Dim lastrow As Long Dim wsRD As Worksheet 'Raw Data Set wsRD = Sheets("Raw Data") With wsRD Application.ScreenUpdating = False lastrow = .Range("J" &amp; .Rows.Count).End(xlUp).Row .Range("J" &amp; lastrow + 1).Formula = "=Today()" End With End Sub </code></pre> <p>And don't forget to turn the screenupdating on somewhere.</p>