エクセルの作業効率化に定評のあるVBAはなぜか翻訳されていない。
なので、私の方でVBAを作ってみた。
目次
「あぁ^~心がぴょんぴょんするんじゃぁ^~」とは?
そもそもVBAって何?
一行で言うと?
VBA=エクセルに付いているプログラミング言語
なんでエクセルにVBAを付けたの?
アナタはエクセルで色々な操作をするよね?
・文字を入れる
・コピーする
・計算させる
これらの操作を100回やって♡
って言われたらアナタはどうする?
確かに100回繰り返してやれば作業は終わる。
だけど・・・
・ものすごい時間がかかる!
・疲れる!
・ミスする!
じゃあ、人間の代わりにコンピューターにやらせればいいんじゃね?
と考えて生まれたのがVBAだよ!
VBAで何ができるの?
・文字を入れる
・コピーする
・計算させる
これらの操作を100回やって♡
とVBAに指示したら、なんと!
0.01秒
で終わるぞ!
(※時間は処理内容によります)
1000回でも一万回でもVBAはヘーキヘーキ
・・・その代わりにVBAプログラムを作るのが面倒だけどね・・・
VBAで「心ぴょんぴょん」を表示させる方法
適当なエクセルを作って開く
エクセルの名前は何でもいい。
私は「chino.xlsm」にした。
注意してほしいのはエクセルの拡張子。
拡張子と言うのは、パソコンにあるファイルの最後に付く文字。
例えば・・・
ah114514.txt
の場合、拡張子は「txt」だよ!
ファイルの最後に付く文字(=拡張子)が「xlsm」でないとVBAが使えない。
普通にエクセルを開いた場合の拡張子は「xlsx」になるハズ
その状態で
「名前を付けて保存」
から拡張子「xlsm」を指定して保存する必要がある。
なお、エクセルのシートは特にいじる必要は無い。
VBAプログラムの編集画面を開く
[Alt]+[F11]コマンドで開くのが一番早いと思います。
プログラムを作る場所を確保する
プログラムの編集画面を開いただけではプログラムが作れない。
まず、プログラムを作る場所を確保するゾ~
「標準モジュール」がプログラムを作る場所だよ。
「標準モジュール」を「挿入」すると・・・(意味深)
プログラムを入力するための場所ができたよ!
やったね!チノちゃん!
プログラムを入力する
今回使うプログラムは以下
Public Sub pyonpyon()
MsgBox "あぁ^~心がぴょんぴょんするんじゃぁ^~"
End Sub
↑コレをコピペすればOK
プログラムを動かす
プログラムを入力しただけでは動きません!
人間が「プログラムよ!動け!」と命令しないと動かないです。
エクセルからプログラムを動かす方法はいろいろあるけど・・・
VBAを知らない兄貴にとって一番分かりやすい方法を紹介するよ!
「開発」→「マクロ」をクリック。
すると以下のウィンドウが出る。
「pyonpyon」を選択して「実行(R)」ボタンを押す。
するとメッセージが出るゾ~
あぁ^~心がぴょんぴょんするんじゃぁ^~
VBAプログラムの解説
Public Sub pyonpyon()
MsgBox "あぁ^~心がぴょんぴょんするんじゃぁ^~"
End Sub
のコードについて説明するね。
基本はC言語と同じです
VBAはプログラミング言語の1つです。
プログラミング言語は他にもたくさんあるよ!
詳細は以下を読んで、どうぞ。
Public Sub pyonpyon()=動かす場所の宣言
Public Sub pyonpyon()
MsgBox "あぁ^~心がぴょんぴょんするんじゃぁ^~"
End Sub
一行目の「Public Sub pyonpyon()」は、プログラムを動かす場所の宣言をしています。
プログラムを動かす場所の範囲は
Sub
・・・・
End Sub
のように指定する。
その場所の名前が,「Sub」の右にある「pyonpyon」
pyonpyonの右にある「()」は何?
おまじないだと思って♡
(ガチで説明しようとすると「引数」とかいう難しい話になるので)
Subの左にある「Public」は何?
Public=どこからも見れる状態
↑の逆が↓
Private=関係者以外の人は立ち入り禁止!
Privateで指定すると、マクロ一覧からプログラムを動かせなくなるヨ
「pyonpyon」と言う名前のプログラムは人間から直接動かしていいのか?
動かしたらダメなのか?
をハッキリ示すために「Public」を付けた。
一応、「Public」を書かなくてもプログラムは動くんだけどね。
MsgBox=テキストを画面へ出せ!
Public Sub pyonpyon()
MsgBox "あぁ^~心がぴょんぴょんするんじゃぁ^~"
End Sub
二行目の「MsgBox」は、テキストをウィンドウに出すコマンドだと思ってくれ。
MsgBox 「ここに文字を入れる」
ね?簡単でしょ?
End Sub=プログラムの終わり
Public Sub pyonpyon()
MsgBox "あぁ^~心がぴょんぴょんするんじゃぁ^~"
End Sub
「End Sub」は「pyonpyon」と言う場所の終わりを意味するゾ~
これをハッキリと示さないとエラーになるぞ!
(パソコンがフリーズするようなモノ)
アナタもVBAを使って作業効率をしよう!
外国語を扱う人もエクセルを使います
通訳や翻訳・言語学の人はエクセルを使って単語を整理している。
だけど・・・
単に単語をエクセルに書くだけだと、後で探す時に大変!
一応
[ctrl]+[F]
のコマンドで単語の場所が分かるけど・・・
一か所の単語の場所しか表示させられないのが問題!
複数の単語が引っ掛かった場合、単語同士を比較するのが面倒になる。
一応エクセルの「関数」もある
エクセルの「関数」は電卓みたいなモノだと思ってくれ。
「関数」をうまく組み合わせて単語検索する方法もあるけど・・・
複雑な処理をしようとすると、関数の式がすごーく長くなってしまう。
それでもVBAならきっと何とかしてくれる
もしアナタがVBAを知っていれば
・ユーザが検索した文字に該当する単語だけ抜き出す
・ヒットした単語を一瞬でずらーっと表示させる
という処理ができるぞ!
まぁ、VBAプログラムを作るのは面倒ですが・・
一度作ってしまえば、今までの面倒な手作業をやらなくて済むぞ!
外国語を扱う人はVBAくらいは使えるようになった方がいいと思います。
【関連】語学マニア向けのソースコード