「難しい」を「楽しい」に変える!

【ExcelVBA入門】開いて閉じる、ただそれだけの話2/2【第7回】

WRITER
 
この記事を書いている人 - WRITER -
事務職。異動により、毎日23時頃まで残業という生活を変えるため、ExcelVBAを勉強。コツコツと実戦投入し、定時帰りを実現。その後プログラムに興味を持ちPythonの勉強を始める。 イベント事は昔から嫌い。よみぞうは静かに暮らしたいのだ。

今回は前回の続きだよ!

よみぞう

動画はこちらから

前回のおさらい

前回は2行目

ここまで、解説しました。
名前がわからないエクセルファイルの名前を調べて変数booknameに代入する
という意味でしたね。

他のExcelファイルを操りし者 Workbooks.Open Filename:=パス名

はい、では次の行。コメントに書いているとおり、「元データ」フォルダに入っているファイル。つまり、data.xlsxを開くコードです。

公式
Workbooks.Open filename:=パス

公式に当てはめると
このエクセルファイルのパスの中の元データの中のbooknameつまりdata.xlsxを開け

という命令になります。前回からここまでの説明を整理すると、

  1. Dir関数でファイル名を調べる。
  2. Workbooks.Openでファイル名を含むパスを指定してファイルを開く

という二つの処理を行ったわけだね。ここまでまず確認しよう。

.Closeで開いたファイルを閉じる

では、最後の行は開いたファイルを閉じる処理です。

Activeworkbookは今アクティブになっているファイルのこと。ウィンドウを複数開いたときに一番前に来るものですね。通常は最後に開いたファイルになるので、今回はdata.xlsxのことを指しています。んで続き.Closeはそのまま「閉じる」という意味。つまり、「アクティブなエクセルファイルを閉じる」という意味になります。で、この後ろに書いているのは「保存するかしないか」という指定です。ここまで整理すると

  • ActiveWorkbook ⇒ アクティブなエクセルファイル
  • .Close ⇒ ~を閉じる
  • savechange:=True(False) ⇒ 保存するかしないか。Trueは保存する。Falseは保存しない

………

えな

ん?どうしたの?

よみぞう

うーん…

えな

「難しい 」の顔かな?

よみぞう

そうそう!

えな

「色々あって覚えられないなぁ」の顔かな?

よみぞう

そうそう!

えな

自分でしゃべれ!そのくらい!

よみぞう

あちゃー

えな

大丈夫!こういうときは入力補助機能が付いているから、なんとなく覚えておけば、入力できるよ!

よみぞう

そうなんだ。やった~!

えな

よろこびすぎだよ!実際やってからにして!

よみぞう

 

Ctrl + Space 入力補助のショートカット

 

はい、例えばこの行「Workbooks.Open filename~」を入力補助を使って入力していきます。

まずCtrl + Space を押します。

入力候補が出てくるので、woと入力してみよう。すると、

「workbooksが出てきました。これだ!と思ったら、Tabを押す。ここ、Enterじゃないので注意して下さい。

続いて[ . ]を入力すると再び候補が。「o」を押すと「Open 」が出てきますので、これだ!と思ったら?……

ん?

えな

Tabでしょ!さっき言った!

よみぞう

あ、そっか!

えな

Tab押すと、入力できます。
続いてどのファイルを開くのかファイル名をスペースの後に入力します。「Space」を入力すると。

はい、今度はworkbooks.oenの後にはこんなのを入力して下さいね」というリストが出てきます。この中で、Filenameを入力したいんですよね?これ以降は、実際に入力するしかなくて、ただのヒント的な機能です。でもこれだけでもだいぶ助かりますよね。

う、うん

えな

たしかに、少しは覚えないと入力できないけど、選択肢の中から選べる程度の記憶でいいってことだから、少しがんばろ!ね?

よみぞう

分かった!

えな

 

まとめ


  • 変数(文字列) = Dir(パス)で特定のフォルダに入っているファイル名を調べて、変数(文字列)に代入できる。
  • パスとはファイルの場所のこと。パス名でよく出てくる\(\)「~の中の」という意味。
  • 入力候補の表示は Ctrl + Space 候補の選択はTabキー
  • ファイルを開く公式は
    Workbooks.Open Filename:= パス
  • アクティブファイルを閉じる処理は
    ActiveWorkbook.Close
  • 保存する(しない)時はsavechange:=True(False)をCloseの後に書こう!

 

 

今回はここまで。これを知っていると

  • データの保存ファイル
  • 入力ファイル
  • 閲覧ファイル

を分けることができるんだ。データをいじらせたくない民には、閲覧ファイルのみ使ってもらうとかができるようになるね(*‘∀‘)
他にも色々応用が利くから超重要なスキルだよ!

よみぞう

 

この記事を書いている人 - WRITER -
事務職。異動により、毎日23時頃まで残業という生活を変えるため、ExcelVBAを勉強。コツコツと実戦投入し、定時帰りを実現。その後プログラムに興味を持ちPythonの勉強を始める。 イベント事は昔から嫌い。よみぞうは静かに暮らしたいのだ。

- Comments -

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

Copyright© Make a Splash ! , 2018 All Rights Reserved.