アプリ版:「スタンプのみでお礼する」機能のリリースについて

(シート1)
ACFGにif関数(Bに入力がない場合は空白””です。)
AAにsum関数(0は表示しません。)
日によって入力する行数が異なり、途中に空白行もあります。

この(シート1)の最終行を取得して、(シート2)に値コピーしたくて以下↓のようにやってみたのですが思う通りにはいきません。
関数での空白は無視して最終行を取得するには、どのようにしたらいいのでしょうか。
よろしくお願いします。

Sheets("シート1").Select
Range(Range("A1:AC1"), Cells(Rows.Count, 1).End(xlUp)).Copy
Worksheets("シート2").Range("A1").PasteSpecial Paste:=xlPasteValues
Application.CutCopyMode = False
End Sub

A 回答 (2件)

「Cells(Rows.Count, 1).End(xlUp)」だとA列の最終行を見つけてしまいます。

他の列の方が大きい場合使えません。
以下のようにすれば使っている最後の行番号を得られます。
--------------------------------------------------------------------
Sub 最終()
Dim 最終行 As Long
With Sheets("シート1").UsedRange
最終行 = .Rows(.Rows.Count).Row
End With
End Sub
--------------------------------------------------------------------
    • good
    • 2
この回答へのお礼

そういう事だったんですね。
ありがとうございました。

お礼日時:2016/12/04 21:53

こんなので、いかがでしょう。



Sub sample()
Sheets("シート1").Select
With ActiveSheet.Range("A:A")
Range(Range("A1:AC1"), .FindPrevious(.Find("*", .Rows(Rows.Count), _
LookIn:=xlValues))).Copy
End With
Worksheets("シート2").Range("A1").PasteSpecial Paste:=xlPasteValues
Application.CutCopyMode = False
End Sub
    • good
    • 0
この回答へのお礼

うまくいきました。
ありがとうございます。

お礼日時:2016/12/04 21:51

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています


このQ&Aを見た人がよく見るQ&A