VBAの困った はVBA開発室で研究してみませんか? VBA作成も格安で承っております。

VBA開発室 鹿児島ワイズ:メインバナー
 トップページ
 EXCEL VBA
 ACCESS VBA
 VBA 開発相談

VBA開発室 鹿児島ワイズ は、

 ・VBAの操作入門

 ・VBAの開発代行

をご提供しています。

 登録無料!相互リンクはココをClick

   オススメリンク

  ・VBA開発室 鹿児島ワイズ

  ・パソコン修理専門店 Y's

  ・パソコン買援隊

  ・鹿児島パソコン教室 ワイズ

  ・激安データリカバリー専門店

  ・鹿児島学習塾WISE

  ・売れるホームページ!鹿児島SEO

  ・LAN工事 鹿児島

 
トップページ >> EXCEL VBA >> 017.新しくブックを作る(ブック・シートの名前を操作する) 2/2


新しくブックを作る(ブック・シートの名前を操作する) 2/2
前回ご紹介したとおり、新規ブックを作成することは簡単ですが、

Worksbooks.Add 

と記載するだけで、新規ブックを作成した場合は、Book○○ 、Sheet○○ とエクセル初期設定の名前が割り当てられます。



ブック名やシート名を指定することにより、その後の命令対象を明確に把握しやすくなることも多いので、今回はそのブック名やシート名を指定する方法をご紹介します。





ブック名の指定方法:

Dim BkName As String

BkName = Format(Now(), "yyyymmddhhmm") & ".xls"



この意味は BkNameという文字型変数を作成し、

その変数に 現在時刻をもとにした名前(=文字列)を代入する。

現在時刻をもとにした に関する箇所が、Format(Now(), "yyyymmddhhmm") です。

EXCEL VBA において Now() とは、現在の時刻を取得する命令です。 その取得した時刻を "yyyymmddhhmm" という形にそろえなさい というのが Format(Now(), "yyyymmddhhmm") という関数です。


今の時刻が 2013年(Year)11月(Month)5日(Day)14時(Hour)15分(Min) とすれば、この関数によって yyyymmddhhmm = 201311051415 となります。



BkName = Format(Now(), "yyyymmddhhmm") & ".xls" となっているので、具体的には

BkName = 201311051415.xls

となります。これで ブック名の指定が完了しました。(まだブックは作成されていません)



Dim wbn As Workbook

Set wbn = Workbooks.Add

wbn.SaveAs BkName



Dim wbn As Workbook とは、 wbn を Workbook 型の変数と宣言した という意味です。この Workbook 型 はオブジェクト型と言われ、オブジェクト型に値を代入する場合は、参照という記載方法をとらなければなりません。

それが Set wbn = Workbooks.Add です。この参照により 新規ブックを wbn という変数に代入する という意味となります。そうすることで今後は wbn という名前のワークブックに対して、諸命令を実現できます。具体的には wbn.SaveAs BkName です。



wbn.SaveAs BkName とは、wbn を BkName という名前で保存しなさい という意味です。このことにより、 プログラム製作者が指定した名前で新規ブックが作成されることになります。



今度はワークシートの名前を変更することを考えましょう。

ワークシート名の指定方法:

今回の例では、ワークシートを2枚持った新規ブックを作成しました。すなわち、その新規作成されたブックには、Sheet1 と Sheet2 という2枚のシートが存在していることになります。ですので、それぞれのシートの名前を変更することを考えればよいのです。



Workbooks(BkName).Activate

Worksheets("Sheet1").Activate

ActiveSheet.Name = "シート1"



そこで、まず作業対象とするブックを選択しました。前述したように、その作業対象とするブックには Sheet1 が存在しているはずなので、その Sheet1 をアクティブ化(選択)しました。そのアクティブ化されたシートの名前プロパティを変更する命令が
ActiveSheet.Name = "シート1"

です。この命令により 選択された Sheet1 の名前を“シート1”に変更することになります。



これら一連の処理が ブック名の指定、シート名の指定 の方法です。このようなものは確実に記憶する必要はありません。パソコン等のどこかに仕舞い込んでいて、必要な時に コピー&ペースト で使い回してください。それで十分です。

長い文章 お疲れ様でした。

トップページ >> EXCEL VBA >> 次のページへ


All rights reserved to VBA開発室 鹿児島ワイズ