0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

VBA学習備忘録④ VBAにも「イミディエイトウィンドウ」というPythonのインタクラティブシェルのようなものがあるらしい

Last updated at Posted at 2024-01-30

そもそもVBA(Visual Basic for Application)とは

そもそもPythonのインタラクティブシェルとは

details

対話モードともいう、PCに最初からインストールされているコンソール(Windowsならコマンドプロンプト、Macまらターミナル(※VScode等のターミナルとは別物である))から呼び出すことのできるPythonを1行ずつ実行する実行環境

 なお、Python関連の本を買うと、よくAnacondaという開発環境を使うようにかいてあることがありますが、私は下記の参考資料⑥『確かな力が身につくPython「超」入門 鎌田正浩 著』に従い、VScode上(?)に開発環境作り、Javaも含め、できる限り一本化していて(とりあえず今のところは、何か動いていて)インタラクティブシェルを使う場合は個人的にそれが楽なので、

以下ここで言うインタラクティブシェルは、WindowsならVScodeのpowershellやcmd(コマンドプロンプト)で、MacならVScodeのzshで、下図のような「python&Enter」で起動させるVScode上でのインタラクティブシェルを指すものとします。

interactive_shell.png

1行ずつ入力していくのは面倒ですが、一旦入力したものは他のターミナルやシェル同様、↑↓キーでその時点でのインタラクティブシェルを閉じるまでは、過去にどこかの行で入力したものの履歴コピー(名称?です)が出てくる

                  かつ

マウス操作をする場合は、一般的な方法でコピーして、ペーストするときはクリックしてカーソルを合わし、右クリックするとペーストできる

ので手早く出力結果を知りたいときに自分はよく使います。

 なお、「インタラクティブ」は「inter(相互)」+「active(作用)」みたいな語源がある気がします

「イミディエイトウィンドウ」はたぶん「immediate window」

 コードの動作を確認したり、ユーザー定義関数を使って計算した結果を確認したりできるVBAにおけるインタラクティブシェルっぽいやつ。

     開発タブ⇒VBE(Visual Basic Editor)⇒表示タブ⇒イミディエイトウィンドウ
で出てきます

immdiate_window_open.png

immediate_window.png

例えば、以下のようにFunctionプロシージャを書いてユーザー定義関数を定義した後

'    書式 Function 関数名(引数1 As データ型, 引数2 As データ型,…)As 戻り値のデータ型
'    ※データ型の指定は省略可能
'    なお、このユーザー定義関数はワークシートのセルに直接書き込んで使用することができる。

Function 税込(価格 As Currency) As Currency
    税込 = Int(価格 * 1.1)
End Function

これを呼び出すマクロを考えて書く前に、

   ?関数名(引数の例)   ここでなら例えば「?税込(100)」

をこのイミディエイトウィンドウに入力すると以下のように出力結果を得られる。

immediate_window_conclusion.png

主な参考資料

①今すぐ使えるかんたん Excel マクロ&VBA 技術評論社 門脇香奈子 著

Amazonリンク

https://www.amazon.co.jp/%E4%BB%8A%E3%81%99%E3%81%90%E4%BD%BF%E3%81%88%E3%82%8B%E3%81%8B%E3%82%93%E3%81%9F%E3%82%93-Excel%E3%83%9E%E3%82%AF%E3%83%AD-Office-Microsoft-365%E5%AF%BE%E5%BF%9C%E7%89%88/dp/4297129701/ref=sr_1_3?__mk_ja_JP=%E3%82%AB%E3%82%BF%E3%82%AB%E3%83%8A&crid=87AM31OPUPGU&keywords=%E4%BB%8A%E3%81%99%E3%81%90%E4%BD%BF%E3%81%88%E3%82%8B%E3%81%8B%E3%82%93%E3%81%9F%E3%82%93+excel+%E3%83%9E%E3%82%AF%E3%83%AD%26vba+%E6%8A%80%E8%A1%93%E8%A9%95%E8%AB%96%E7%A4%BE+%E9%96%80%E8%84%87%E9%A6%99%E5%A5%88%E5%AD%90+%E8%91%97&qid=1705239199&sprefix=%E4%BB%8A%E3%81%99%E3%81%90%E4%BD%BF%E3%81%88%E3%82%8B%E3%81%8B%E3%82%93%E3%81%9F%E3%82%93+excel+%E3%83%9E%E3%82%AF%E3%83%AD+vba+%E6%8A%80%E8%A1%93%E8%A9%95%E8%AB%96%E7%A4%BE+%E9%96%80%E8%84%87%E9%A6%99%E5%A5%88%E5%AD%90+%E8%91%97%2Caps%2C281&sr=8-3

②スピードマスター エクセル自動化 VBAサンプル100 コピってイジってすぐ使える 技術評論社 今村ゆうこ

Amazonリンク

https://www.amazon.co.jp/%E3%82%B9%E3%83%94%E3%83%BC%E3%83%89%E3%83%9E%E3%82%B9%E3%82%BF%E3%83%BC-%E3%82%A8%E3%82%AF%E3%82%BB%E3%83%AB%E8%87%AA%E5%8B%95%E5%8C%96-VBA%E3%82%B5%E3%83%B3%E3%83%97%E3%83%AB100-%E3%82%B3%E3%83%94%E3%81%A3%E3%81%A6%E3%82%A4%E3%82%B8%E3%81%A3%E3%81%A6%E3%81%99%E3%81%90%E4%BD%BF%E3%81%88%E3%82%8B-%E4%BB%8A%E6%9D%91-%E3%82%86%E3%81%86%E3%81%93-ebook/dp/B0BTCM43GT/ref=sr_1_4?__mk_ja_JP=%E3%82%AB%E3%82%BF%E3%82%AB%E3%83%8A&crid=3ZNXZDE69UB9&keywords=%E4%BB%8A%E6%9D%91%E3%82%86%E3%81%86%E3%81%93&qid=1705481528&sprefix=%E4%BB%8A%E6%9D%91%E3%82%86%E3%81%86%E3%81%93%2Caps%2C232&sr=8-4

③HITACHI Inspire the Next RPA業務自動化ソリューション【コラム】VBAとマクロの違いとは?VBA・マクロができること、マクロの作り方を徹底解説!
https://www.hitachi-solutions.co.jp/rpa/sp/column/rpa_vol26/

④エクセルの神髄( ExcelとVBA の入門解説)
Excel および マクロ VBA 全般について入門解説から上級者に役立つ技術情報まで幅広く発信しているサイト。GAS、Python、SQLといった関連情報も載っている
https://excel-ubara.com/

⑤最初からそう教えてくればいいのに! PythonでExcelやメール操作を自動化する ツボとコツがゼッタイにわかる本 立山秀利 著 秀和システム社

Amazonリンク

https://www.amazon.co.jp/%E4%BB%8A%E3%81%99%E3%81%90%E4%BD%BF%E3%81%88%E3%82%8B%E3%81%8B%E3%82%93%E3%81%9F%E3%82%93-Excel%E3%83%9E%E3%82%AF%E3%83%AD-Office-Microsoft-365%E5%AF%BE%E5%BF%9C%E7%89%88/dp/4297129701/ref=sr_1_13?crid=MN161L425MW7&keywords=excel+%E3%83%9E%E3%82%AF%E3%83%AD+vba&qid=1705932478&sprefix=Excel+%E3%83%9E%E3%82%AF%E3%83%AD%2Caps%2C219&sr=8-13

⑥確かな力が身につくPython「超」入門 第2版 (確かな力が身につく「超」入門) 鎌田正浩 著 SB creative社 

Amazonリンク

https://www.amazon.co.jp/%E7%A2%BA%E3%81%8B%E3%81%AA%E5%8A%9B%E3%81%8C%E8%BA%AB%E3%81%AB%E3%81%A4%E3%81%8FPython%E3%80%8C%E8%B6%85%E3%80%8D%E5%85%A5%E9%96%80-%E7%AC%AC2%E7%89%88-%E7%A2%BA%E3%81%8B%E3%81%AA%E5%8A%9B%E3%81%8C%E8%BA%AB%E3%81%AB%E3%81%A4%E3%81%8F%E3%80%8C%E8%B6%85%E3%80%8D%E5%85%A5%E9%96%80-%E9%8E%8C%E7%94%B0-%E6%AD%A3%E6%B5%A9/dp/4815613729/ref=sr_1_1?__mk_ja_JP=%E3%82%AB%E3%82%BF%E3%82%AB%E3%83%8A&crid=2QWFRN76M4ZK9&keywords=python+%E8%B6%85%E5%85%A5%E9%96%80&qid=1705932839&sprefix=python%E8%B6%85%E5%85%A5%E9%96%80%2Caps%2C226&sr=8-1

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?