劇場アニメ/エクセル/デジタルイラスト

ペントスの気まぐれブログ

劇場アニメとエクセルの話を不定期で掲載しています ※過去記事にはデジタルイラストの話もあります

劇場アニメ/エクセル/デジタルイラスト

エクセル奮闘記-10 --- メモ04-ブックを開く

読んで下さる方へ

エクセルのマクロの個人的なメモです。

メモがたまってきたら解説しようと思っています。

エクセルを使っている人は標準モジュールにコピーして実行してみて下さいね。

※今回はブックを開く機能についてです

 

 追記

「~標準モジュールにコピーして実行~」も、意味がわからない方がいらっしゃると思います。そのあたりもいずれ説明していこうと思っています。しばらくは、そこそこの知識のある人でないとわからないと思いますが、そのあたりはご了承ください。

 

f:id:pen-toss:20150323214553j:plain

 Sub 別のブックを開く()
'開くだけ

'変数を使用「フォルダーの場所」
フォルダーの場所 = "C:\A\"

'変数を使用「ブック名」
ブック名 = "Book1.xlsx"

MsgBox "ハードディスク(C)の「A」フォルダーにある「Book1.xlsx」を開きます"

MsgBox "「Book1.xlsx」がない場合、エラーになります"

'ワークブックを開く
Workbooks.Open フォルダーの場所 & ブック名

MsgBox "開きました画面(アイコン)を確認して下さい"

End Sub

 

 Sub 別のブックを開いて閉じる()

'変数を使用「フォルダーの場所」
フォルダーの場所 = "C:\A\"

'変数を使用「ブック名」
ブック名 = "Book1.xlsx"

MsgBox "ハードディスク(C)の「A」フォルダーにある「Book1.xlsx」を開きます"

MsgBox "「Book1.xlsx」がない場合、エラーになります"

MsgBox "開いて閉じるだけです、画面の変化が一瞬なのでよく見いて下さい"

'ワークブックを開く
Workbooks.Open フォルダーの場所 & ブック名

MsgBox "開いてから閉じました。画面の変化は一瞬でしたね。"

End Sub

 

Sub 別のブックを開いて書き込んで閉じる1()

'変数を使用「フォルダーの場所」
フォルダーの場所 = "C:\A\"

'変数を使用「ブック名」
ブック名 = "Book1.xlsx"

MsgBox "ハードディスク(C)の「A」フォルダーにある「Book1.xlsx」を開きます"

MsgBox "開いてからアクティブシートのA1セルに「aaa」と書き込みます"

MsgBox "書き込んでから閉じます"

MsgBox "「Book1.xlsx」がない場合はエラーになります", vbExclamation

'ワークブックを開く
Workbooks.Open フォルダーの場所 & ブック名

'書き込む
Range("a1").Value = "aaa"

'閉じる
Workbooks(ブック名).Close

MsgBox "「Book1.xlsx」を開いてからA1セルに「aaa」って書き込みしましたね。" & vbNewLine & "「Book1.xlsx」を開いて確認してみてくださいね。"

End Sub

 

Sub 別のブックを開いて書き込んで閉じる2()
'保存しますかのメッセージなし

'変数を使用「フォルダーの場所」
フォルダーの場所 = "C:\A\"

'変数を使用「ブック名」
ブック名 = "Book1.xlsx"

MsgBox "ハードディスク(C)の「A」フォルダーにある「Book1.xlsx」を開きます"

MsgBox "開いてからアクティブシートのA1セルに「aaa」と書き込みます"

MsgBox "書き込んでから閉じます"

MsgBox "「Book1.xlsx」がない場合はエラーになります", vbExclamation

'ワークブックを開く
Workbooks.Open フォルダーの場所 & ブック名

'書き込む
Range("a1").Value = "aaa"

'セーブする
Workbooks(ブック名).Save

'閉じる
Workbooks(ブック名).Close

MsgBox "「Book1.xlsx」を開いてからA1セルに「aaa」って書き込みしました。" & vbNewLine & "今度は「はい/いいえ」の確認がないので「Book1.xlsx」を開いて確認してみてくださいね。"

End Sub

 

f:id:pen-toss:20150323214553j:plain

 

f:id:pen-toss:20170201231242j:plain

 

エクセル奮闘記-09 --- まとめ--メッセージボックスの話

 2月13日

最下段にメッセージボックスのマクロ再度、整頓しておきました。

※改行コードの説明を更新しました。

 

 2月12日

最下段にメッセージボックスのマクロを軽く整頓して、更新しておきました。

 

f:id:pen-toss:20150323214553j:plain

 

メモ1~メモ3まではメッセージボックスを利用して手軽なマクロを作成してみました。メッセージボックスは初心者の練習用によく使われる機能ですが、使いやすい理由は以下の2つだと思います。

 

1)出力する場所を特定する必要がない

通常はセルに何か出力する場合、A1セルとかSheet2のB2セルとか出力する場所を指定する必要があります。

 

ところがメッセージボックスの場合、出力場所がボックスの中だけであるため場所を特定する必要がありません。

 

2)マクロが途中で止まる

マクロは非常に高速で動作します。慣れないうちはマクロが実行された時に画面の変化に気が付かず戸惑うことがよくあります。

 

メッセージボックスを利用するとマクロが途中で止まるうえに、画面中央にメッセージが表示されるので、動作に気が付かないということがありません。


こういったことがあり、メッセージボックスは初心者にとって見やすくて使いやすいコードだと言えます。

 

なのでマクロ初心者の方で、「とりあえず自分でコードを書いてマクロの雰囲気だけでも味わってみたい」という方はメッセージボックスを使って練習してみてはいかがでしょうか?


ということで、今回のまとめはこんな感じです。

 

 

f:id:pen-toss:20150323214553j:plain 

メッセージボックスのまとめ--1

 

Sub AAB_メッセージボックス_01()

', vbExclamation
MsgBox "メッセージボックスに「!」を付けました", vbExclamation

', vbQuestion
MsgBox "メッセージボックスに「?」を付けました", vbQuestion

', vbCritical
MsgBox "メッセージボックスに「×」を付けました", vbCritical

'「&」演算子、文字列を連結する

'「vbNewLine 」が改行コード

 '「& vbNewLine &」連結演算子が2個と改行コード

 

MsgBox "メッセージボックスを" & vbNewLine & "改行して2行にしました"

'「!」etc.改行なしの時は「" "」だけ

MsgBox "終わり"


End Sub

f:id:pen-toss:20150323214553j:plain

Sub AAB_メッセージボックス_02()

'「変数」にメッセージボックスの結果を入れる
変数 = MsgBox("【はい】か【いいえ】か選んで下さい", vbYesNo)

'条件文で変数に結果を入力する
If 変数 = vbYes Then

'【はい】をクリックしたとき
'vbYesが「True」を返してきたとき
MsgBox "【はい】ですね?"

Else
'【いいえ】をクリックしたとき
'vbYesが「False」を返してきたとき
MsgBox "【いいえ】ですね?"

End If

End Sub


f:id:pen-toss:20170205223141j:plain

 

エクセル奮闘記-08 --- メモ03-メッセージボックスの続き

2月5日更新

f:id:pen-toss:20150323214553j:plain

読んで下さる方へ

 

メッセージボックスの機能の続きです。

 

コードがたまってきたので、次回はメモ1~メモ3(こちらのページ)までを、各ページ上で更新する予定です。「更新」といっても名前の変更、コード内のコメントの追加(更新)、動作チェックくらいですが。

↓ 2月5日

まとめ記事をアップしました。

こちらの記事の下に後日、更新、動作確認をしたコードを貼りつけることにしました。

エクセル奮闘記-09 --- まとめ--メッセージボックスの話 - ペントスの気まぐれブログ

 

f:id:pen-toss:20150323214553j:plain

 

Sub Macro3()

'変数にメッセージボックスの結果を入れる
変数 = MsgBox("【はい】か【いいえ】か選んで下さい", vbYesNo)


'条件文で変数に結果を入力する
If 変数 = vbYes Then

MsgBox "【はい】ですね?"

Else

MsgBox "【いいえ】ですね?"

End If

End Sub

 

f:id:pen-toss:20150323214553j:plain

 

Sub Macro4()
'メッセージボックスにアクティブシートの名前を入れる

MsgBox ActiveSheet.Name

End Sub

 

 

f:id:pen-toss:20170201231242j:plain

エクセル奮闘記-07 --- メモ02-セルに関する操作+メッセージボックス

読んで下さる方へ

 

エクセル奮闘記-06 --- メモ01-セルに関する操作 - ペントスの気まぐれブログ

のメッセージボックスに「?」や「!」をつけてみました。

使い方のコツはSheet2のB1セルに何か入力してからマクロを実行すると、

何をしているのか動作がよくわかると思います。

 

f:id:pen-toss:20150323214553j:plain


Sub Macro2()

Range("A1").Select
MsgBox "アクティブシートのA1", vbInformation

Worksheets("Sheet2").Activate
Worksheets("Sheet2").Range("B1").Select
MsgBox "Sheet2のB2", vbExclamation

Range("E1").Select
MsgBox "アクティブシートのE1に移動", vbQuestion

Range("E1").Value = Range("B1").Value
MsgBox "アクティブシートのE1に" & vbNewLine & "アクティブシートのB1の値入力", vbCritical

ActiveCell.ClearContents
MsgBox "アクティブセルの値をクリア"

MsgBox "終わり"

Range("B6:D16").Select
End Sub

 

f:id:pen-toss:20150323214553j:plain

 

メモ

1)メッセージボックスの中での改行

MsgBox "アクティブシートのE1に" & vbNewLine & "アクティブシートのA1の値入力"

 

2)メッセージボックス+iマーク

 MsgBox "アクティブシートのA1", vbInformation

 

3)メッセージボックス+!マーク

 MsgBox "Sheet2のB2", vbExclamation

 

4)メッセージボックス+?マーク

 MsgBox "アクティブシートのE1に移動", vbQuestion

 

5)メッセージボックス+☓マーク

 MsgBox "アクティブシートのE1に" & vbNewLine & "アクティブシートのA1の値入力", vbCritical

 

f:id:pen-toss:20170201231242j:plain

エクセル奮闘記-06 --- メモ01-セルに関する操作

読んで下さる方へ

個人的なメモですが、、、メモがたまってきたら解説しようと思っています。

エクセルを使っている人は標準モジュールにコピーして実行してみて下さいね。

 

 追記

「~標準モジュールにコピーして実行~」も、意味がわからない方がいらっしゃると思います。そのあたりもいずれ説明していこうと思っています。しばらくは、そこそこの知識のある人でないとわからないと思いますが、そのあたりはご了承ください。

 

f:id:pen-toss:20150323214553j:plain

 

セルに関する操作---セルの値の取得、アクティブセルの移動

 

Sub Macro1()

Range("A1").Select
MsgBox "アクティブシートのA1"

Worksheets("Sheet2").Activate
Worksheets("Sheet2").Range("B1").Select
MsgBox "Sheet2のB2"

Range("E1").Select
MsgBox "アクティブシートのE1に移動"

Range("E1").Value = Range("A1").Value
MsgBox "アクティブシートのE1に" & vbNewLine & "アクティブシートのA1の値入力"

ActiveCell.ClearContents
MsgBox "アクティブセルの値をクリア"

MsgBox "終わり"
   
End Sub

 

f:id:pen-toss:20150323214553j:plain

 

メモ

メッセージボックスの中での改行

& vbNewLine &

 

 

f:id:pen-toss:20170201231242j:plain

エクセル奮闘記-05 --- メモ代わりに使用

前回のアップから半年も経っているのですが、
やっぱり多忙でブログどころではないです。

 

ただし、、、エクセルだけは日々使っています。

 

それとブロガーはみんな知っているのですが、
ネット上に自分専用のページがあって、
メモ代わりに使えるといろいろ便利です。

 

ということで、これからこの「エクセル奮闘記」のページは自分用の

エクセルの勉強用のネット上のメモとして使います。

 

なので、他の方が見てわかりやすい内容でないと思いますし、「何それ?」みたいな記述があると思います。

 

ですが、これもブログの活用方法の1つですので何分、ご容赦下さい。

余裕が出来たら以前みたいに、他の人が読んでもわかるページにしたいと思います。

エクセル奮闘記-04 --- マクロの勉強方法の話-02 ガイドブックの話

前回、「エクセル奮闘記-03 ---- マクロの勉強方法の話-01 学校に行くべき? 」で、「いきなり、学校にいくのも消極的なので、とりあえずamazonで調べて初心者向けのマクロの本を2冊買った」という話をしました。

 

購入した本は「エクセルのマクロとVBAがみるみるわかる本」と「入門者の EXCEL VBA 初めての人にベストな学び方」という本の2冊で、「2冊ともわかりやすい本なので、読み終えたら次回以降にこの本の話をしたい」というところで終わりました。

 

という事で、両方とも読み終えたので、この2冊の話をしたいと思います。僕の個人的な感想ですが、エクセルのマクロ初心者はこの2冊をペアにして勉強をするのは良い方法だと思います。

 

というのは、この2冊は両方とも初心者向けですが全く違ったアプローチでマクロの解説をしています。違う点というのは、「記録マクロを使う、使わない」ということです。「記録マクロ」というのはエクセルの機能の1つです。簡単にいうと動画の撮影のような「ボタンを押すと動作の記録が始まり、終了する時もボタンを押す」、という機能があります。この機能を使って、「文字を大きくする」とか「セルをコピーする」という動作を記憶させて、この動作をアイコンから呼び出すことができます。

 

聞くからにして便利で初心者向けの機能なのですが、この機能の使い方が、「エクセルのマクロとVBAがみるみるわかる本」と「入門者の EXCEL VBA 初めての人にベストな学び方」では異なり、違うところは以下のような感じです。

 

「エクセルのマクロとVBAがみるみるわかる本」
記録マクロをつかってマクロの作成

 記録マクロのコードを変更しながらマクロの勉強をしていく

ちょっとづつステップアップして最終的には手書きでプログラムを作成する

f:id:pen-toss:20150323214553j:plain
「入門者の EXCEL VBA 初めての人にベストな学び方」
記録マクロを使わない

記録マクロを使わない理由を説明(=記録マクロで出来ないことを説明)

丁寧に説明しながら1行づつ手書きでプログラミングしていく

 

という違いがあります。どちらも良い本ですし、おすすめ出来ます。自分にあったガイドブックに出会えたので、「学校へ行く」ということは保留して3冊目のガイドブックを購入しました。

  

3冊目のガイドブックは「EXCEL VBAのプログラミングのツボとコツがゼッタイにわかる本」です。この本を選んだ理由は著者が同じだからです。要するに、前述の「入門者の EXCEL VBA 初めての人にベストな学び方」がわかりやすかったので、同じ人の書いた本を買いました。

 

加えて、この本の場合、セミナーも開催しています。具体的にいうと、著者である立山秀利さんがこの本をテキストとしたセミナーを行っています。セミナーの開催地は東京、大阪、名古屋、福岡で、僕の場合、大阪在住なので大阪のセミナーに参加できます。

 

ですので、この本で勉強して、わからないところがあれば、大阪で開催されるセミナーに参加しようと思って、この本を購入しました。

 

ということで、今回は以上です。

 

PS

肝心の具体的なマクロの機能の話を全然してませんが、、、この件については、しばらく無理です。というのは僕のようなチョー初心者の場合、何をしたいのかを自分自身が把握するだけで精いっぱいで、とても他人にわかりやすく説明するどころではありません。

 

なので具体的なマクロの使い方とか、勉強のコツみたいな話はしばらく出来ないと思います。

 

関連情報

「エクセルのマクロとVBAがみるみるわかる本」
秀和システム:道用大介著
http://bit.ly/1sFd4gK
--------------------
サンプルファイルのダウンロードページ
http://bit.ly/28WXJUI
--------------------
対象としているエクセル(Excel)のバージョン
2013 / 2010 / 2007

 

 f:id:pen-toss:20160626091252j:plain

 

 f:id:pen-toss:20150323214553j:plain

「入門者の EXCEL VBA 初めての人にベストな学び方」
講談社/ブルーバックス立山秀利著
http://bit.ly/28TBE3o
--------------------
サンプルファイルのダウンロードページ
http://tatehide.com./bb_vba.html
--------------------
対象としている環境、機能
Excel2010(Windows7)、Excel2007(WindowsVista)、Excel2003(WindowsXP)
※書籍の中で掲載されている画面はExcel2010(Windows7)を中心として説明

 

f:id:pen-toss:20160626160534j:plain

 

 f:id:pen-toss:20150323214553j:plain

EXCEL VBAのプログラミングのツボとコツがゼッタイにわかる本」
秀和システム::立山秀利著
http://bit.ly/28TRECm
--------------------
サンプルファイルのダウンロードページ
http://bit.ly/28W5lBq
--------------------
対象としているエクセル(Excel)のバージョン
2007 / 2003

 

f:id:pen-toss:20160626160639j:plain

 

 

 

ITライター 立山秀利オフィシャルWebサイト

http://tatehide.com/index.html

 

EXCEL VBAのプログラミングのツボとコツがゼッタイにわかる1日セミナー

http://tatehide.com/seminar.html

 

※著者名の敬称は省略しました。

 

エクセル奮闘記-03 ---- マクロの勉強方法の話-01 学校に行くべき?

 6月26日 アイコン作成しました。

 

f:id:pen-toss:20150323214553j:plain

前回、「エクセル奮闘記-02 ---- MOSの話 スペシャリスト&エキスパート 」の中で、「どうやってモチベーションを保ちながら、EXCEL2010のマクロの勉強をすればいいのか、戸惑っている」という話をしました。

 

要するに、マクロの場合、難しいのでちょっとばかりガイドブックを読んだくらいではどうにもなりません。ある程度、真剣に勉強する必要があります。

 

具体的にいうと、独学で習得する自信がないということです。なので、学校に行くのもいいと思います。エクセルの場合、以前、触れたとおり、事務職必須のソフトであるため、社会人向けで土日だけの短期のパソコン教室もあり、比較的勉強しやすい環境にあります。なので、自力ではどうにもならない場合は学校に行こうと思います。

 

ですが、、、学校に行くにしても、その前に準備しておく必要があります。「ここまで頑張ったけど、独学では理解できなかった、、、」というところまではトライしておく必要があります。もしかしたら、自力でなんとかなるかもしれませんし、何も準備せずにいきなり学校に行くのはあまりにも受け身で消極的過ぎます。

 

ということで、とりあえず、amazonで初心者向けのガイドブックを探してみたところ、良い本が2冊見つかりました。本のタイトルは「エクセルのマクロとVBAがみるみるわかる本」と「入門者の EXCEL VBA 初めての人にベストな学び方」という本の2冊です。幸いにも2冊とも高い本ではありません。なので、両方とも購入しました。というのが、ちょっと前の話です。

 

で、、、この2冊を使って勉強してみたところ、、、わかりやすい!どっちも 良い本だと思います。僕はまだ完全に読み終えてませんので、詳しい内容、感想、etc.は、今、書けませんが、この件については次回以降触れる予定です。

 

ということで、今回は 以上です。

 

 

PS

1)近日中に、ガイドブックのリンクを追加する予定です。

2)アイコンも後で作成し、貼り付けておきます。

 

「エクセルのマクロとVBAがみるみるわかる本」 ※amazon

http://amzn.to/1Ou8BI3

 f:id:pen-toss:20160626091252j:plain

 

 

「入門者の EXCEL VBA 初めての人にベストな学び方」 ※amazon

http://amzn.to/24Vz438

 f:id:pen-toss:20160626160534j:plain

 

 

劇場アニメ/エクセル/デジタルイラスト