オートフィルをVBAで操作する前に::システムトレード完全攻略(エクセル活用術)

システムトレードのトップへ > VBA > システムトレードに役立つTIPS集  >オートフィルをVBAで操作する前に

オートフィルをVBAで操作する前に

※今回使うのは「AutoFilterMode」です。
オートフィル機能のみに限ったことではないですが、マクロ記録を使えば結構な自動化は出来ます。



しかし中には記録できない作業もあるのでその場合は自作するしかありません。オートフィル機能をマクロ記録を使って記録した場合、恐らく以下のようなプロシージャが自動記録されます。

Sub Macro1()
'
' Macro1 Macro

' マクロ記録日 : 2008/5/16 ユーザー名 : 壱式

'

'
Range("A1:F1").Select '列Aから列Fまでオートフィル状態にする
Selection.AutoFilter
End Sub

このプロシージャを実行してもらえばすぐに分かることですが、これだと実行するたびにオートフィルが「ON」「OFF」状態に切り替わるだけで、オートフィルが「OFF」のみ「ON」にするという判別をしてくれる訳ではなさそうです。しかし実践では判別する場合の使用頻度の方が高いと思います。


Sub Macro1()


'
' Macro1 Macro
' マクロ記録日 : 2008/5/16 ユーザー名 : 壱式
'

If ActiveSheet.AutoFilterMode = False Then 'オートフィルの有無を判別

Range("A1:F1").Select '列Aから列Fまでオートフィル状態にする

Selection.AutoFilter

End If

End Sub

上記の文は先にIF分岐でオートフィルの有無を判別してから、無い場合のみオートフィルを有効にするプロシージャです。このIF分岐中に使われている「AutoFilterMode」はオートフィルが有るときは「True」を返しオートフィルがない場合は「False」を返します。これでオートフィルが無い場合のみ、オートフィル状態にするプロシージャが出来ました。「then」以下の文をもっと複雑にすれば様々なオートフィルを制御できるようになります。


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

人気ブログランキングへ





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

投稿者 システムトレーダー壱式 : 2008年05月16日 09:57



トラックバック

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

コメント

コメントしてください




保存しますか?


//-->