VBA

表面

裏面
0 ★
No. 表面 裏面
1

マクロを動作させる”きっかけ”

イベント

2

イベントの阻止

application.enableEvents

3

ワークシートのイベント

ワークシート内だけ!

4

全てのワークシートで同じイベントを利用したい

ブックの”workbook_sheet○○”イベントを使う

5

worksheet change

ワークシートだけ

6

workbook_sheetchange

全てのワークシート

7

シートが優先

イベントプロシージャ

8

OLEオートメーション

wordもパワポも使えるようになる!事前バインディングと実行時バインディング

9

実行時バインディング

createobject関数

10

事前バインディング

自動メンバ表示が可能

11

実行時バインディング

好きなタイミングの柔軟性

12

workbooksコレクション

開いているすべてのブック

13

Sheetsコレクション

ブック内のすべてのシート

14

worksheetsコレクション

ブック内のすべてのワークシート

15

Chartsコレクション

ブック内のすべてのグラフ

16

どんな型を宣言すればいいかわからない

variant

17

UBOUNDとLBOUND

繰り返しができる

18

Preserve

既存の配列データを保持

19

多次元配列

次元数そのものは変更できず、最後の次元のみ変更できる

20

リストの設定

イベントプロシージャ

21

セルの選択範囲

変えたタイミング

22

リストを設定するコード

データの入力規制

23

Excel VBAは本来、表計算の機能を自動化するためのもの

Exelの機能がわかってないと無駄なコーティングをしてしまう

24

Find メソッド

LookAt指定

25

LookAt引数

部分一致したセル

26

Xlpart

一部分

27

Xlwhole

完全一致

28

ユーザーの操作によって結果が変わる

不具合&直るという謎減少発生

29

ユーザーの操作によって結果が変わる

原因を突き止めにくいエラー

30

findメソッドは引数がたくさんある!

LookAt:=xlWhole等名前付き引数で指定

31

Validationの対象オブジェクト

セルなのでTargetがそのまま使える

32

Addメソッド

xlValidateListとリストの元になるセル範囲をそのまま指定やればよい

33

リスト範囲設定プロシージャで取得した

ListRangeのセル範囲をそのまま指定

34

Addメソッドを使う前

必ずDeleteメソッドで入力規制を削除/入力規制+入力規制=エラー発生

35

実際に入力規制が設定されているかいないにかかわらず

Addするなら必ずDeleteすること

36

application.Callerのメリット

プロシージャを1つに統一できる!

37

applicationオブジェクトとは

Excelそのもの/applicationに対する命令

38

application.displayalerts=false

特定の警告やメッセージを表示しない

39

application.calculation=xlcalculationmanual

計算方法のモードを手動にする

40

application.enableevents=false

イベントの発生を許可しない

41

application.statusbar="表示したい文字列"

ステータスバーの文字列を設定

42

application.screenUpdating

false

43

evaluate

引数に指定した”セル参照”/数式/ワークシート関数内容の通りの結果を返す

44

VBA

みんなが読んでメンテナンスしていくもの/Undoメソッド

45

Undoメソッド

セルの編集に限らずどんな操作に対しても元に戻す

46

currentRegion

Ctrl+Shift+*

47

usedrange

データがある範囲ではなく使用されているセル範囲

48

プログラミングのセンス

努力を継続できる人

49

worksheet_activate

ワークシートがアクティブになったときに発生

50

change

内容が変更

51

BeforeRightClick

セルを右クリックする前

52

calculate

計算処理後

53

BeforeDouubleclick

セルをダブルクリックする前

54

SelectionChange

セル選択

55

Deactivete

アクティブでなくなった時

56

ワークブックを閉じるとともにExcelを終了

application.quit

57

workbook_windowactivate

ワークブックウィンドウがアクティブになったときに発生

58

split関数

要素数が分からない配列を作るのにうってつけ

59

split関数

文字データを区切り文字で区切り、配列で返す

60

split関数

文字列/区切り文字/区切る数/比較方法

61

比較方法

vbBinaryCompareとVbtextCompare