関数を最終行まで反映させる::システムトレード完全攻略(エクセル活用術)

システムトレードのトップへ > VBA > システムトレードに役立つTIPS集  >関数を最終行まで反映させる

関数を最終行まで反映させる

株価のようにデータ数が大きい場合、最終行までたどりつくのに何回もスクロールする必要があります。
これをマクロ化します。同時に先頭の関数式を最終行まで一括更新する機能も加えます。※今回は「Row、Column」関数を使います。



あるデータの最終行までジャンプするプロシージャは以下の文になります。




Sub 最終行を選ぶ()
Dim LastRow As Long '最終行を代入する変数
Dim NowColumn As Long '現在選択中の列数を代入するための変数
Dim NowRow As Long '現在選択中の行数を代入するための変数
NowColumn = ActiveCell.Column '現在選択しているセルの列をカウント
NowRow = ActiveCell.Row '現在選択しているセルの行をカウント
LastRow = Range(Cells(NowRow, NowColumn), Cells(65536, NowColumn).End(xlUp)).Rows.Count + NowRow - 1
'現在選択しているセルから続く最終行のデータがある行数をLastRowに代入するためのステイトメント
Cells(LastRow, NowColumn).Select '最終行にあたるセルを選択
End Sub




上記の構文を参考に選択したセルの値を最終行まで反映させるプロシージャをつくってみます。




Sub 最終行まで値を反映()
Dim LastRow As Long '最終行を代入する変数
Dim NowColumn As Long '現在選択中の列数を代入するための変数
Dim NowRow As Long '現在選択中の行数を代入するための変数
NowColumn = ActiveCell.Column '現在選択しているセルの列をカウント
NowRow = ActiveCell.Row '現在選択しているセルの行をカウント
LastRow = Range(Cells(NowRow, NowColumn), Cells(65536, NowColumn).End(xlUp)).Rows.Count + NowRow - 1
'現在選択しているセルから続く最終行のデータがある行数をLastRowに代入するためのステイトメント
Selection.AutoFill Destination:=Range(Cells(NowRow, NowColumn), Cells(LastRow, NowColumn)), Type:=xlFillDefault
'先頭行の値を最終行までオートフィル機能を使い反映させる
End Sub



※引用部分はそのままVBEにコピペして使うことができます。


セルレーダー最新版ダウンロードした(^▽^)?

人気ブログランキングへ





1位取れたら未公開プログラム沢山吐き出すので応援のポチ2つしてね(≧ω≦)

投稿者 システムトレーダー壱式 : 2008年05月23日 19:14



トラックバック

このエントリーのトラックバックURL:
http://systemtrader.info/cgi/mt/mt-tb.cgi/60

コメント

コメントしてください




保存しますか?


//-->