列の一番下に値を追加する【VBA】

目次

環境

Windowsの仕様

エディション:Windows 10 Pro

バージョン:20H2

経緯

VBAのプログラムで読み込んだファイルのE列の値の平均を計算して、追加したいファイルのセルのデータを列の一番下に展開したいと思い、やってみました。

やったこと

↓の感じでできました。

Workbooks(strFileName).Activate
Range("E25").Formula = "=AVERAGE(E27:E1000)" '.End(xlDown)を使いたいけどできなかった
Range("E25").Copy
ThisWorkbook.Activate
n = Cells(Rows.Count, "C").End(xlUp).Row + 1
    Range("C" & n).Select
    ActiveCell.PasteSpecial Paste:=xlPasteValues

まず、抽出したいExcelファイルをActivateします。strFileNameは読み込んだExcelファイルです。

次に.FormulaでE列の平均(AVERAGE)と取ります。本当は”E列の値の一番下まで”って形にしたかったのですが、私にそうするスキルがありません( ノД`)シクシク…

で、平均した値を.copyします。

次に展開したいExcelファイル(workbook)に切り替えます。Activateします。

そして、 n = Cells(Rows.Count, “C”).End(xlUp).Row + 1 と書きます。”C”はC列という意味です。なので、”C”を変えると違うところに値を追加できます。

この文は定番の文です。私自身、この文は中身は詳しく知らずに使っています。

あとは.Selectして、

貼り付けるって感じです。

ファイルの読み込み方がわからない方はこちらを参考にしてください。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

私が勉強したこと、実践したこと、してることを書いているブログです。
主に資産運用について書いていたのですが、
最近はプログラミングに興味があるので、今はそればっかりです。

目次