[[20200218141537]] 『数式による空白を無視して最終行を取得するマクロ』(NENE) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『数式による空白を無視して最終行を取得するマクロ』(NENE)

エクセル A1行は 項目名が入っています。(A〜BMまで)

計算式でA2セル以降、他のシートから情報を参照(=イコール)
しています。(他のシートの情報は 毎回行数に変動あり)

例えばA7セルまで情報が入っているとします。
A8セル以降は 空白です。

A2セル以降のセルに、もし参照するデータが0の場合、空白とするというIF関数で 空白表示””しています。

ですが A2の数式が500行まで入っていると A2行から文字が入っている行をすべてコピーしようとすると(CTRL+SHIFT+↓)空白の500行目迄範囲が指定されてしまいます。

計算式を設定していても
実際に文字が入力されている行(例では A7セル)を最終行として認識し、、そこからコピー 
→ほかのシートの 最終行から下に 貼り付けするには 
どのようにしたらよいでしょうか。

< 使用 Excel:Excel2013、使用 OS:Windows10 >


数式のある最下行から先頭に向かってループし、A列を1行ずつ空欄比較。空欄でない行を見つけたら終了すれば良いだけかと。
(???) 2020/02/18(火) 15:14

マクロがあるとよいのですが・・

4行目まで実績があるので 1~4行目をコピーして他のシートの最終行から下に貼り付けしたいです
5行目以降も、計算式が入っています。

 A列
1 〇
2 〇
3 〇
4 〇
5
6
7

(NENE) 2020/02/18(火) 15:19


[[20200217165902]]『結果0の場合空白にする』

おなじですよね。
(同じ人?) 2020/02/18(火) 16:42


 数式による空白を無視した最終行番号ですよね?

 これ
 ↓
 Dim LastRW As Long
 LastRW = Columns("A").Find("*", , xlValues, , , xlPrevious).Row

(半平太) 2020/02/18(火) 17:26


半平太さん 
ご回答ありがとうございます。

 Dim LastRW As Long
 LastRW = Columns("A").Find("*", , xlValues, , , xlPrevious).Row

で、最終番号を求めた後、
2行目〜最終行をコピーしたい場合 続けて記述は可能なのでしょうか。
初心者でして、申し訳ないですが教えて下さい。
(NENE) 2020/02/18(火) 18:36


 Sub shiftData()
    Dim SrcWs As Worksheet
    Dim TgtWs As Worksheet

    Set SrcWs = Sheets("こっちのシート名")  '←正しいシート名にする
    Set TgtWs = Sheets("他のシート名")      '←正しいシート名にする

    SrcWs.Range("A2:BM" & SrcWs.Columns("A").Find("*", , xlValues, , , xlPrevious).Row).Copy
    TgtWs.Cells(TgtWs.Rows.Count, "A").End(xlUp).Offset(1).PasteSpecial xlPasteValuesAndNumberFormats

    Application.CutCopyMode = False
 End Sub

(半平太) 2020/02/18(火) 19:37


(ひとりごと的なコメントで恐縮)

| で、最終番号を求めた後
と、さらっと書いているのだが、コードの意味を理解しているんでしょうか。
結構、感動的といってはなんだが、ひねりがあるんだけどねえ。

行番号が判明した以降のコードは、
むしろ、自分でトライすべきことのような気がする。

(γ) 2020/02/19(水) 00:20


半平太さん
ご丁寧にありがとうございます。
今日トライしてみます。

独り言さん
で、というのは誤解を招く接続詞でした。。
その記述の次に 続けたいのですが、という感じで書くべきでした。
気分を害されたと思います。
半平太さん 申し訳ありませんでした。
なかなかどこを調べてもわからず、焦りもありました。。
なるべく自分で調べてやってみます。
(NENE) 2020/02/19(水) 07:43


コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.