[ノンプロ研]VBA中級講座第3期第1回・スコープとプロシージャ

『コミュニティ「ノンプログラマーのためのスキルアップ研究会」VBA コース第3期第1回のツイートまとめです。コンテンツは「スコープとプロシージャ」です。 https://tonari-it.com/community-nonpro-semi/
2
前へ 1 2 ・・ 5 次へ
FukuCyndi papa @FukucyndiP

Publicは、他所の標準モジュールだけでなく、シートモジュール、クラスモジュール、フォームモジュールにまで有効範囲が広がる。 つまり、プロジェクトレベルになります #ノンプロ研 #エア中級VBA

2021-08-06 20:35:34
fishb @dampenedkid

今日はGAS講座も開講中なので、ハッシュタグは両方で #ノンプロ研 #VBA中級講座

2021-08-06 20:36:03
根岸 @2a9SouLnhptnIqG

スコープとは変数やプロシージャなどを使用できる範囲。 スコープはなるべく小さくする。 スコープが大きくなると可読性が下がる、管理対象が増える。脳の負荷が増える。 #ノンプロ研 #VBA中級講座

2021-08-06 20:36:12
alice @alice37308108

パブリックモジュールレベル便利じゃん!と思うかもしれないけど基本的にはスコープは広げるのではなく絞るべき 【スコープを広げるデメリット】 ・データ型がパッと見わからない ・変数がパブリックかプライベートで宣言させているのかパッと見でわからない #ノンプロ研 #VBA中級講座

2021-08-06 20:37:12
alice @alice37308108

・管理対象の増加する →遠くに書かれているものや、名前かぶりを意識する必要がある プログラムを書くときは構成を考えるのでいっぱいいっぱいになるので余計なリソースを使わないようにする #ノンプロ研 #VBA中級講座

2021-08-06 20:37:13
kudou @kudou32323

Public x As String で宣言して変数xが適用できる範囲は 別モジュールでも可能だが、同一ブック内のみ (他ブックはダメだった) #ノンプロ研 #VBA中級講座

2021-08-06 20:38:57
な~🍀GAS @GasNao703

うごいた✨ 使用可能です!!!がいっぱいでました✨ #ノンプロ研 #VBA中級講座 pic.twitter.com/qOk8A8teVt

2021-08-06 20:40:12
拡大
FukuCyndi papa @FukucyndiP

スコープが広いと、いちいちDimしなくっていいからコード書きやすくって良さげ•••• ヾノ・ω・`)ノンノン コードのデバッグやメンテナンスする時にしんどい思いをするので、スコープは狭く狭くせまく #ノンプロ研 #エア中級VBA

2021-08-06 20:40:14
kudou @kudou32323

な~さんがTwitterにいるとホッとする #ノンプロ研 #VBA中級講座

2021-08-06 20:42:23
alice @alice37308108

プロシージャ →処理の集まり(=手続き)に名前をつけたもの #ノンプロ研 #VBA中級講座

2021-08-06 20:43:28
alice @alice37308108

Subプロシージャ  手続きの実行  戻り値を得ることができない Functionプロシージャ  手続きの実行  戻り値を返すことができる #ノンプロ研 #VBA中級講座

2021-08-06 20:43:29
根岸 @2a9SouLnhptnIqG

プロシージャの種類は5種類ある ・Subプロシージャ ・Functionプロシージャ ・Property Letプロシージャ ・Property Setプロシージャ ・Property Getプロシージャ #ノンプロ研 #VBA中級講座

2021-08-06 20:44:30
な~🍀GAS @GasNao703

VBAは大文字小文字あんまり気にしなくて良いのが良い✨ #ノンプロ研 #VBA中級講座 ただ変にセミコロンとかシングルクォーテーションとか入力する癖が抜けない。

2021-08-06 20:46:19
alice @alice37308108

Takushi先生のモジュールを並べて表示するの、みやすいな😃 #ノンプロ研 #VBA中級講座

2021-08-06 20:47:06
FukuCyndi papa @FukucyndiP

広いスコープの変数宣言するなら、それが何者か見たらすぐわかるヤツですると、いいですねw FileSystemObject の fso とか、Dictionary の dic とか #ノンプロ研 #エア中級VBA

2021-08-06 20:47:06
くのへ@くのへ塾やってます @MasazaneKunohe

#ノンプロ研 #VBA中級講座 DateSerial関数って使ったことなかった こんな関数あるんだね~

2021-08-06 20:47:51
kudou @kudou32323

DateSerial(Year(Date), Month(Date) + 1, 0) →今月末の日にち(今日出力すると「2021/08/31 」になる) #ノンプロ研 #VBA中級講座

2021-08-06 20:49:15
alice @alice37308108

演習1-05 MySub1_05から書くのではなくFuntionから書くと、メインプロシージャ(MySub1_05)を書くときに入力補完がつかえるのでおすすめです。 #ノンプロ研 #VBA中級講座

2021-08-06 20:50:10
fishb @dampenedkid

DateSerial(年, 月, 日) 日付を0指定するとマイナス1=前月末になる #ノンプロ研 #VBA中級講座

2021-08-06 20:50:51
FukuCyndi papa @FukucyndiP

Sub は何かを処理するプロシージャ。 Function は受け取ったもの処理した結果を返してくれるプロシージャ。関数と言う言葉が今は一番しっくりきますね y=f(x)の f(x) #ノンプロ研 #エア中級VBA twitter.com/alice37308108/…

2021-08-06 20:51:28
根岸 @2a9SouLnhptnIqG

変数の有効期限を長い事勘違いしていたのでちょっと補足です。 プロシージャ内で宣言した変数の有効期間は、そのプロシージャが終了するまで。 宣言セクションで宣言した変数は、値は破棄されないで保持される。 #ノンプロ研 #VBA中級講座

2021-08-06 20:52:26
根岸 @2a9SouLnhptnIqG

Private i As Long Sub Test1() i = 10 End Sub Sub Test2() Debug.Print i End Sub Test1を実行した後にTest2を実行すると0ではなく、10とデバッグ出力される。 Endでプロシージャの終了や、ブックを閉じたときなどに値が破棄される。 #ノンプロ研 #VBA中級講座

2021-08-06 20:53:49
根岸 @2a9SouLnhptnIqG

プロシージャ化のメリット ・処理を分離すると主となる処理以外を意識から外せる ・再利用できる ・メンテナンスしやすい #ノンプロ研 #VBA中級講座

2021-08-06 20:57:30
kudou @kudou32323

Functionプロシージャに慣れないとなー(苦手・・・) #ノンプロ研 #VBA中級講座

2021-08-06 20:57:41
前へ 1 2 ・・ 5 次へ