シート1のA列には =TEXT(シート2のA1 , "0000!/00!/00") * 1 このように関数が入っていて、シート1のA列は ”9/23” の様に

補足

With Range("B3", Range("B3").End(xlDown)).SpecialCells(xlCellTypeConstants, xlNumbers) こういった関数を使って 日付の入力されているセルだけを選択は出来ませんか? 日付を何と定義していいのかわからなくて…

Excel | Visual Basic78閲覧xmlns="http://www.w3.org/2000/svg">50

ベストアンサー

0

ThanksImg質問者からのお礼コメント

なるほど!目から鱗でです、そういうアプローチがあるとは考えもしませんでした!ありがとうございます。

お礼日時:9/24 23:03

その他の回答(2件)

0

こんなマクロはどうでしょうか。 Sheet1のA1セルには以下の数式が入力され、 =IFERROR(TEXT(Sheet2!A1,"0000!/00!/00")*1,"") この数式が下方向にコピーされているものとします。 Sub sample() Dim LAST_ROW As Long, rng As Range For Each rng In Worksheets("Sheet2").Columns("A:A").SpecialCells(xlCellTypeConstants, xlNumbers) If Worksheets("Sheet1").Range("A" & rng.Row) <> "" Then LAST_ROW = rng.Row End If Next Worksheets("Sheet1").Activate Columns("A:A").SpecialCells(xlCellTypeFormulas, xlNumbers).Select MsgBox "最終セルのアドレスは A" & LAST_ROW & " です。" End Sub

0

60行とのことなので、力技で頭からなめる。 ・「Private Sub CommandButton1_Click()」は実施環境にあわせてください。 Private Sub CommandButton1_Click() Dim iLastRow As Long, ii As Long ''先頭行から値なしのセルを検索する。 For ii = 1 To Cells(Rows.CountLarge, "A").End(xlUp).Row + 1 If (Cells(ii, "A").Value = "") Then iLastRow = ii - 1 Exit For End If Next ''iLastRowが最終行になる。 MsgBox "最終行は" & iLastRow & "です。", vbInformation End Sub