VBA別館・Python別館
マクロ用のボタンを作る - Tak
2018/04/23 (Mon) 20:30:50
vba@kumasan.comへマクロに関して質問がありました。 参考になると思いますのでQ&Aを載せます。
Q1 VBAでマクロと同じことができますか?
Ans:出来ます。マクロは決まりきったことを、簡単に出来るようにcodingしていますので、それは全くVBAでもできます。
Q2 CellsとRangeはセルの場所を表示するのなら、何故二通りあるのですか?
Ans: 普通はRange("・・・")で表しますが、セル位置を数値で表せますので非常に便利なときもあります。 おいおい説明いたします。
Q3 セルへの書きこみの方法は他にもありますか?
Ans:ハイ、有ります。 次に例をあげます。
・Range("F4") = "OKOKOK"
・Range("C4").value = "12345"
どちらでも働きますが、Range("C4").value = "12345"が普通です。
Q4 マクロで書いてあることを消すには、どのように書きますか?
Ans: Range("C3")の例にとると、
Range("C3")=""
Range("C3").Value=""
Range("C3").Delete
Range("C3").Clear
Range("A1:D5").ClearContents 'added
このいずれでも働きます。 お好きなものをどうぞ。
マクロ用のボタンを作る-1 - Tak
2018/04/24 (Tue) 08:04:58
あるセルの上で、コントロール+a (crtl+a)とクリックすると、自分の住所が表示されるマクロを作りましたね、でもcrtl+aだったか+bだったか忘れてしまいます。
そこでそれ用のボタンをエクセルシートに張り付けて、そのボタンでマクロを動かすことにしましょう。 そのままVBAにも使えます。
あるセルの上で、コントロール+a (crtl+a)とクリックすると、自分の住所が表示されるマクロを作りましたね、でもcrtl+aだったか+bだったか忘れてしまいます。
そこでそれ用のボタンをエクセルシートに張り付けて、そのボタンでマクロを動かすことにしましょう。 そのままVBAにも使えます。
1. 開発ーデザインモードー挿入ーフォームコントロール内のボタンをクリックして下さい。
①から④までの図をあげます。
マクロ用のボタンを作る-2 - Tak
2018/04/24 (Tue) 08:58:30
2.クリックして手を離すと、シート上に小さな十字マークが出ます。
3.この十字マークの近所でクリックすると、右図のようなマクロ登録モードになります。 そのままOKを押します。
4.すると、その図の左側のボタンが出てきます。 ボタンの番号は自分に分かり易いように変更ください(ボタン上でマウス右ボタンで修正可能)。 これがマクロ用のボタンになります。
続く
マクロ用のボタンを作る-3 - Tak
2018/04/25 (Wed) 07:24:17
5.できたボタンの上で右ボタンを押します。左図。
6.すると、「マクロの登録」が出てきます。右図。
7.この図のように①、②とクリックします。
ここまでを図示します。
Re: マクロ用のボタンを作る-4 - Tak
2018/04/25 (Wed) 08:34:28
8.するとシート上には、ボタン1がが出来ます。
9.そのボタンの名前を適宜変更します(しなくても良いけど)。
10.そしてそのボタンをクリックすると、さきにプログラムした”マクロ1=住所を評させる”が働きます。
11.できました。 ボタンでマクロを働かせる。
今後はこうして好きなマクロを作り、ボタンに割り当てればいつでも使えます。
Re: マクロ用のボタンを作る-纏め - Tak
2018/04/25 (Wed) 15:43:40
大体次のようなキーワードことを学びました。
・マクロは定型業務の省力化
・VBAはマクロのような簡単なアプリも作れる
・マクロもVBAで書かれている
・マクロ付きのエクセル拡張子は「.xlsm」
・開発タブ表示、デザインモード、挿入
・Option Explicitは必ず書く(変数宣言用)
・自動マクロ開始、終了
・sub・・・end sub
・Cells(行、欄)=Range("欄、行")
・ctrl+aなどの意味
・自動マクロは不要なコードが書かれる
・マクロは適当に変更しても構わない
・Range("C3")に文字を書いたり消したりするコード
・コマンドボタンへマクロを張り付ける
簡単VBA - Tak
2018/04/26 (Thu) 15:49:22
では今までのマクロをベースに、VBAでプログラムを作ってみましょう(コードcodeを書くとも言います)。
① エクセルシートのセルに、今日の日付を表示する。 まずその命令を出すボタンを作ります。
フォームコントロールにも似たようなコマンドボタンがありますが、今回のCommandButtonはVBA用、フォームコントロールの方のボタンはマクロ用と思ってください。
・開発タブをクリック①。次に挿入タブをクリック②。
・コントロール(部品です)のアイコムが表示されます。
・この中からコマンドボタンをクリック④。
・するとCommandButton1が作られます。エクセルシートの欄が狭い場合は広げてく下さい。
ここまで出来たら、次のcodingへ移ります。