VBA別館・Python別館 64451


初めてのVBA動作する!

1:Tak :

2018/07/17 (Tue) 14:42:17

https://bbs5.fc2.com//bbs/img/_868900/868857/full/868857_1531806286.jpg まずsheet上で、VBAをスタートさせるボタンを作りましょう。

① sheet1の上に、コマンドボタンを次の手順で張り付けます。

・開発タブ-挿入-ActiveXコントロールの四角いマークをクリック
・マウスのカーソルがシート上で+字になるので、適当な大きさの四角を作る
・シート上に、CommandButton1というボタンが出来る。

挿入の際、上側にフォームコントロールという部品が
あるけど、こちらはマクロ用部品と思ってください。

VBAで部品を張り付ける時は、下側のActiveXコントロールを使用してください。
2:Tak :

2018/07/17 (Tue) 20:11:41

https://bbs5.fc2.com//bbs/img/_868900/868857/full/868857_1531825901.jpg ② コードを書く準備

図にあるように;
・CommandButton1を張り付けます
・Alt+F11クリックで、VBE上にプロジェクトとコード画面が出来ます。

このコマンドボタンはSheet1上に作りましたので、codeもsheet1と連結しております。 

3:Tak :

2018/07/18 (Wed) 11:50:16

https://bbs5.fc2.com//bbs/img/_868900/868857/full/868857_1531882320.jpg ③ コードを書きましょう

・開発-デザインモードにする

・CommandButton1をダブルクリックする

・自動的に図のように

  Option Explicit (変数設定の強要)
  
  Private Sub CommandButton1_Click()
    ここへコードを書きます
  End Sub

 が出来ます。

・ここへコードを次のように書きます
   
  Private Sub CommandButton1_Click()
   Range("A1").Value = "こんにちは"
  End Sub

・すると、セルA1に、こんにちは と書き出されます。

他愛もないcodeですが、どんな複雑なcodeでもここから始まります。 この後どんどん応用が広がります。

図は、rangeの後にピリオドを打つと、選択すべき処理機能を自動的に複数表示してくれます。 rangeの後のcodeの書き方を忘れても、このようにエクセルが教えてくれます。   
4:Tak :

2018/07/18 (Wed) 13:35:09

https://bbs5.fc2.com//bbs/img/_868900/868857/full/868857_1531888509.jpg ④ 初めてのコ-ドを書く

他愛もないcodeですが、どんな複雑なcodeでもここから始まります。 この後どんどん応用が広がります。

次図で、文字列がA1に書き出されたところをのせます。
5:Tak :

2018/07/18 (Wed) 13:41:55

https://bbs5.fc2.com//bbs/img/_868900/868857/full/868857_1531888915.jpg ⑤ 

初めてのコ-ド働く!

・すると、セルA1に、こんにちは と書き出されます。

コードを書く場合の注意:
・Option Explictは変数宣言をしないと、エラー表示を強制的に行う宣言です。 これは必ず入れたままにして置いて下さい。 

・文字列は "xxxx"と必ず" "で囲む。 数字の場合は不要です。

・セルを表すときは、RANGE("A1")のように"A1"と""を忘れないでください。 Cellの場合は、CELL(行番地,
列番地)と数字なので””は不要です。 但し行・列番地がRangeと逆ですの間違わないでください。 ここで必ずエラーに出会います。 

・codeは原則英文半角です。 小文字でも大文字でもOKですが、自動的に必要な部分は大文字になります。

・Private Sub CommandButton1_Click()
 xxxxxxx
 End Sub
 で一つのプロシージャヤー(処理)ですので、常にこの形で出てきます。 Privateの部分は、Public Sub、ただのSubという形もありますが、取敢えずこの形を覚えて下さい。 徐々に説明いたします。

  • 名前: E-mail(省略可):
  • 画像:

Copyright © 1999- FC2, inc All Rights Reserved.