プロフィール

作者:めたのさえた
profilephoto
四季報に名前を載せることを目標に、日々格闘中!! コメント大歓迎です!!twitterへのフォローもよろしくお願いします!!(めたのさえたのツィッターをまとめて読むこともできます)
嫁ちゃんが作成する公害防止管理者のホームページの運営に協力しています。

calendar

S M T W T F S
  12345
6789101112
13141516171819
20212223242526
2728293031  
<< May 2018 >>

categories

          
月別記事一覧
  

google

あなたにおススメ

redimを覚えて、エクセルの幅が広がった!!

 エクセルマクロ(VBA)の初心者ですが、勉強中のめたのさえたです。
今日は会社で配列変数を宣言する際のredimという宣言方法をおしえてもらいました。これがすっごく便利なんです。

今まで僕は、例えば、「人名」という変数を宣言するとき、まあ、仮に500くらいの記憶域を準備しておけば十分かなぁ・・・と思った時、

dim 人名(500)

っという風に宣言していました。

しかしこれでは仮にデータ個数が500を超えた場合、記憶できません。余裕を見て大きな数字を入力しておくという手もありますが、メモリの消費が心配です

これをredimで宣言すれば解決できるんです。

dim 人名()
dim データ数


っと宣言しておいて

その後、なんらかの形でデータ数をカウントするプログラムを書く。
例えば、アクティブセルからデータを含む行数を取得するなら、

Do until ActiveCell.value=""  'データがなくなるまでループ
 データ数=データ数+1
ActiveCell.Offset(1,0).activate '一つ下のセルをアクティブ化
Loop


こんな感じですかね。
して人名を再定義する(redim)。

redim 人名(データ数)

こうすれば、ちょうどデータ数分だけ記憶域を確保して、効率のよいプログラミングができるわけです!!これを知っているだけでVBAでの仕事の幅が広がりそうです(*^_^*)

【関連】
配列変数の利用(外部リンク)
マクロ(VBA)をもっと早く動かしたい!!
このエントリーをはてなブックマークに追加

コメント
コメントする