公式アカウントからの投稿が始まります

最終行を下記の方法で取得して、CSV出力するマクロを作ってます。

lastRow = shtData.Cells(shtData.Rows.Count, 1).End(xlUp).Row

↑この処理で、A列の最終行を取得してるのですが、
A列には、「=IF(C2="","",・・・・」が入っており、集計表自体は100行まであっても、
画面上に見えてるレコードが7行だったら7レコード分だけ出力したいのですが、
100行まるまる出力されてしまいます。(セルに関数が入っているだけでカウントされてしまう)
画面に数値が表示されている最終行を取得するにはどうしたら良いでしょうか?

  • 画像を添付する (ファイルサイズ:10MB以内、ファイル形式:JPG/GIF/PNG)
  • 今の自分の気分スタンプを選ぼう!
あと4000文字

A 回答 (2件)

こんにちは



実際の表がどうなっているのか不明ですけれど・・

ご提示の計算式を見る限り、C列を参照しているようですので、A列ではなくC列の最終行を求めるのでは上手くいきませんか?
(C列が直接入力であろうと想像)

あるいは、表全体が関数等で作成されているという事でしょうか?
ご質問の文章通りに、「A列の空白以外の最終行」を求めたければ、No1様の回答の方法でも良いですし、どこかの空きセルに
 =MAX(INDEX((A1:A100<>"")*ROW(A1:A100),))
を入力しておけば、そのセルの値を参照することでも得ることができます。
    • good
    • 0

100行目から上に向かって、空白("")でない行を探せば良いかと思います。

    • good
    • 0

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