[ノンプロ研]初心者講座VBAコース第4回・オブジェクト、コレクション
「シート名」と「オブジェクト名」は別モノ Excelのシート名って気軽に変えられる オブジェクト名はVBEを開かないと変更できない →VBEをやっている人でないと変更できない #ノンプロ研 #VBA講座
2021-06-23 20:59:20オブジェクトは階層構造になっている。 Application ↓ Workbook ↓ Worksheet ↓ Range と親子関係になっている #ノンプロ研
2021-06-23 21:06:44コレクションからオブジェクトを指定する方法 ①コレクション(インデックス) ②コレクション(名前) #ノンプロ研 #VBA
2021-06-23 21:09:12コレクションからオブジェクトを指定する方法 💡コレクション(インデックス) →Worksheets(1) →左から1番2番 💡コレクション(名前) →Worksheets("test") #ノンプロ研 #VBA講座
2021-06-23 21:09:58グローバルで使えるプロパティ 上位オブジェクトの指定を省略していきなり書くことができる ActiveWorkbook →アクティブなWorkbookオブジェクト #ノンプロ研 #VBA講座
2021-06-23 21:20:09上位オブジェクトの指定を省略できる Application.ActiveWorkbook.ActiveSheet.Range("A1") ↓ Range("A1") #ノンプロ研
2021-06-23 21:22:13アクティブな…(ActiveSheet)はユーザーの干渉を受けるので極力使わない →使っている状況によってどれがアクティブか変わってくる #ノンプロ研 #VBA講座
2021-06-23 21:30:28オブジェクトの指定 ・コレクション(インデックス) ・コレクション(名前) で指定するとき →ブック名・シート名・インデックスはユーザー操作の干渉受けるので注意が必要! 左から〇番目とかシート名は使っている人に変えられる可能性がある #ノンプロ研 #VBA講座
2021-06-23 21:30:28オブジェクト名で指定するとユーザーの干渉を受けないのでオブジェクト名を指定しよう! 書きやすいうえにシンプルでユーザーの干渉もほぼ受けない! #ノンプロ研 #VBA講座
2021-06-23 21:30:29ActiveCell ActiveSheet ActiveWorkbook など、アクティブな、はユーザー操作の干渉受けるのでなるべく使わないように。 (使うときはオブジェクト変数に入れればOK) #ノンプロ研 #VBA
2021-06-23 21:30:54オブジェクトを変数にセットするには「Set」を付ける Set 変数名 = オブジェクト 「Set」は忘れがち。いまだに時々忘れる。 #ノンプロ研
2021-06-23 21:32:04オブジェクトを変数にセットするときは「Set」を付けましょう! Set 変数名 = オブジェクト ※付けないと実行時エラーになります🥲 #ノンプロ研 #VBA講座
2021-06-23 21:32:52Withステートメント →オブジェクトを省略できるブロックを作るステートメント With Sheet1 .メンバー ←Sheet1を省略して書くことができる End With 💡Withステートメントの中もインデントをしましょう! #ノンプロ研 #VBA講座
2021-06-23 21:38:39オブジェクトを省略できるWithステートメント With オブジェクト .メンバー End With .(ドット)を付けてオブジェクトを省略します。 Withの中はインデントを忘れずに! #ノンプロ研
2021-06-23 21:38:56Withステートメントはすっきりして便利だけど、一画面収まらないと何を省略しているかわからなくなることもあるので、使いながら調整していきましょう #ノンプロ研 #VBA講座
2021-06-23 21:42:27For Each~Next文 コレクションに対して1つ1つ要素を取り出してループしていく For Each 変数 In コレクション 処理 Next 変数 #ノンプロ研 #VBA講座
2021-06-23 21:43:45オブジェクトをループするには For Each 変数 In コレクション '処理 Next 変数 変数はコレクションのメンバーのオブジェクト型にします。 コレクションからメンバーのオブジェクトを1つづつ取り出してループします。 #ノンプロ研 #VBA
2021-06-23 21:43:53WorksheetsなのかWorksheetなのかどっちなんだ!はわかります。 Worksheetsはコレクション。 ここらへんは訓練が必要かもです。 #ノンプロ研 #VBA講座
2021-06-23 21:51:16For Eachループは処理する順番に決まりがないので順番にこだわる場合はFor Nextループを使います。 #ノンプロ研 #VBA
2021-06-23 21:53:28