VBA別館・Python別館

64453

マクロ用のボタンを作る - 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へ移ります。

名前
件名
メッセージ
画像
メールアドレス
URL
文字色
編集/削除キー (半角英数字のみで4~8文字)
プレビューする (投稿前に、内容をプレビューして確認できます)

Copyright © 1999- FC2, inc All Rights Reserved.