[[20150320125208]] 『コードの意味を教えてください』(未知の世界) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『コードの意味を教えてください』(未知の世界)

VBAのコードが解読できません。
一応、独学で今、頑張っていますが教えてください
『あ〜お』の番号は私が説明のためにつけました。

あ Sub 正方形長方形1_Click()

い  Dim ka As String

う  ka = Sheets("TOP").Range("I7").Value

え  Sheets("グラフ1").Name = "グラフ" & ka
お  Sheets("データ1").Name = "データ" & ka

End Sub

あ行は、「マクロでいう、マクロの名前」
い行は、変数の宣言をしていて、「kaを文字列」とする

ここまでしかよくわかりません。
初心者すぎて申し訳ないですが、お願いいたします。

< 使用 Excel:Excel2007、使用 OS:Windows7 >


 >う  ka = Sheets("TOP").Range("I7").Value 
 kaに"TOP"というシートの中のI7のセルの値を入れる

 >え  Sheets("グラフ1").Name = "グラフ" & ka 
 グラフ1という名前のシートを "グラフ+(kaに入っている値)" にする

 >お  Sheets("データ1").Name = "データ" & ka 
 データ1という名前のシートを "データ+(kaに入っている値)" にする

こんな感じでわかりますか?
変数はI7に"2"と入力されていればkaに"2"が入ります

(とらねこ) 2015/03/20(金) 13:15


 >う  ka = Sheets("TOP").Range("I7").Value 
 >え  Sheets("グラフ1").Name = "グラフ" & ka 
 >お  Sheets("データ1").Name = "データ" & ka

 う行は い行で宣言した変数ka に、「TOP」シートの[I7]セルの値を代入しています。
 え行は 「グラフ1」シートの名前を 「"グラフ" & ka」 に変更しています。
 お行は 「データ1」シートの名前を 「"データ" & ka」 に変更しています。

 たとえば、「TOP」シートの[I7]セルの値が "3月" であったとしますと、

 > ka = Sheets("TOP").Range("I7").Value

 を実行した時点で 変数ka には 3月" が代入されてます。

 > Sheets("グラフ1").Name = "グラフ" & ka
 > Sheets("データ1").Name = "データ" & ka

 この2行を実行することにより、

  \ グラフ1  /  \ データ1  /
     ̄ ̄ ̄ ̄ ̄       ̄ ̄ ̄ ̄ ̄
 という2つのシートの名前が

  \ グラフ3月/  \ データ3月/
     ̄ ̄ ̄ ̄ ̄       ̄ ̄ ̄ ̄ ̄
 と変わります。
 .
(kanabun) 2015/03/20(金) 13:17

何度もすみません><

Dim yajirusi As String

    yajirusi = Range("I7").Value & Range("K7").Value

    ActiveWorkbook.SaveAs Filename:=ThisWorkbook.Path & "\" & yajirusi & ".xlsm"

続きみたいになりますが、アクティブワークブックは、新しいファイルネーム(新しく作られるエクセルの名前?)を設定しているみたいですが、これはどういうことなのでしょう。

(未知の世界) 2015/03/20(金) 15:00


 こんにちは

 たとえば ActiveWorkbook が MacroBookABC.xlsm という名前だったとします。
 それを、新しい名前で保存するということです。もともとのMacroBookABC.xlsm には変更はくわえられません。
 で、今までMacroBookABC.xlsm が画面にでていましたけど、これを実行すると、それが消え、別名保存したブックが表示されます。

 ファイル操作で「名前を付けて保存」をしたことがありますよね?
 これは、コードでそれを行っていますね。

 なお、ファイルを保存するには abc.xlsx といった情報だけではなく、それがどのフォルダ階層の場所にあるのかも
 くわえたもので指示しないと、VBAは、どこに保存していいのか迷います。

 なので、abc.xlsx の前にそれ(c:\Test\ 等)をくっつけた形(ファイルのフルパスと呼びます c:\Test\abc.xlsx )にして処理します。

 上記例では マクロブックのフォルダパス(ThisWorkbook.Path) と 変数 yajirusi に入っている値などから
 フルパスを生成してますね。

(β) 2015/03/20(金) 15:09


> なので、abc.xlsx の前にそれ(c:\Test\ 等)をくっつけた形(ファイルのフルパスと呼びます c:\Test\abc.xlsx )にして処理します。

 上記例では マクロブックのフォルダパス(ThisWorkbook.Path) と 変数 yajirusi に入っている値などから
 フルパスを生成してますね。

ここら辺からよく意味がわからないのですが「c:\Test\」はどういう意味なのでしょう。

(未知の世界) 2015/03/20(金) 15:55


 多分ここら辺を先に理解したほうが良いでしょうか。
http://www.724685.com/word/wd111116.htm  「ファイルのパス(path)」とは保存場所への道しるべ

(Mook) 2015/03/20(金) 16:38


それはマクロを実行したらエクセルファイルがC:¥Test¥にあるということです。
C¥:Test¥というのは、Cドライブの中のTestというフォルダの中にマクロを実行したエクセルファイルがあるという意味です。
(スズメ) 2015/03/20(金) 16:41

よく分かりました。

ありがとうございます。
(未知の世界) 2015/03/20(金) 17:00


コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.