2017-04-26 4 views
-1

私はU列に日付を入れるのに役立つIF THEN文を探しています。しかし、私はそれについてどうやって行くのか分かりません。最後の列の静的日付

Sub() 
    Dim rng1 As Range 
    Set rng1 = Selection.SpecialCells("U").xlBlanks 
    If Not rng1 Is Nothing Then rng1.Value = Format(Now(), "mm-dd-yyyy") 
End Sub 

私は実行時エラー「1004」を受け取り、このコードを実行します。誰かがこれで私を助けることができますか?

+0

列Uのどの行をテストしますか?また、擬似コードとは対照的に、あなたが持っている実際のコードを(たとえそれが動作しなくても)投稿する方が良いです。実際のコードは、特定の問題をより明確に示しています;) –

+0

私は現在の日付が付けられていない行をすべてテストしようとしています。したがって、新しいデータが挿入されると、今日の日付が必要であることがわかり、列Uに入れられます。 – zach123

答えて

0

まず、実際にデータを持つセルの範囲を検索したいのです。列全体の行Uが空である行をチェックしたくないからです。したがって、データの最後の行が列Aにあると仮定すると、これを使用して検索範囲を設定できます。

With Worksheets("Sheet1") 'qualify sheet, change name as needed 

    Dim lRow as Long 
    lRow = .Range("A" & .Rows.Count).End(xlUp).Row 

その後、データは左から右、上から下にA1から始まる連続した範囲内にあると仮定すると、行1からlRowになるように探索範囲を設定することができます。 (空白のセルが範囲内に存在しない場合、Excelはエラーをスローするため、On Errorステートメントが必要です)。

Dim rngSearch as Range 
    On Error Resume Next 
    Set rngSearch = .Range("U1:U" & lRow).SpecialCells(xlCellTypeBlanks) 
    On Error GoTo 0 

範囲が設定されている場合、範囲全体に一度に値を入力できます(上記のコードでは)。

If Not rngSearch is Nothing Then rngSearch.Value = Format(Now(), "mm-dd-yyyy") 

End With 
+0

ありがとうございました! – zach123

+0

偉大な@ zach123。他の人が今後のことを知ってもらうために、回答としてマークしてください –

関連する問題