ノンプロ研初心者プログラミング講座【VBAコース第7期】_03
- ichihuku55
- 717
- 0
- 0
- 0
プロシージャに引数を渡すときは ① 変数にセットされた値のコピーを渡す ② 変数をセットしたところの情報を渡す の2種類があります。 前者を値渡し、後者を参照渡しといいます 更に小難しくなってきましたw #ノンプロ研 #VBA初心者講座
2022-10-21 20:31:53小難しいので、壁塗り注文になおすと ① 値渡し:注文書の写しを渡す ② 参照渡し:オリジナルの注文書保管場所を教える(現実だとちょっとヤバいカモ) #ノンプロ研 #VBA初心者講座
2022-10-21 20:32:35プロシージャ間の引数の渡し方にはふたつの方法がある 値渡し(ByVal)と参照渡し(ByRef)ですね #ノンプロ研 #VBA初心者講座
2022-10-21 20:32:50値渡しと参照渡しで起こることの違いは、 仮に注文書の記載を壁塗り屋さんに修正してもらった場合 値渡し:修正はコピーに書かれるので、オリジナルはそのまま残る 参照渡し:オリジナルに直接修正が加わる(オリジナルが書き変わる) #ノンプロ研 #VBA初心者講座
2022-10-21 20:33:07値渡しの ByVal, 参照渡し ByRef、どちらを使うか・・・ とりあえず値渡しを選んどけば無難 #ノンプロ研 #VBA初心者講座
2022-10-21 20:35:06ByRefは参照渡し 引数で渡されたパラメータの値を操作すると、元の値が変更されてしまうので注意 #ノンプロ研 #VBA初心者講座
2022-10-21 20:36:10値渡しと参照渡しの演習です ややこしいので、ステップ実行で挙動を確めてくださいねー #ノンプロ研 #VBA初心者講座
2022-10-21 20:37:12ByRefかByValで出力結果に違いが出てくる #ノンプロ研 #VBA初心者講座 pic.twitter.com/apO12tIjSV
2022-10-21 20:41:37参照渡し・値渡しは、どちらも関数の引数の種類。 引数の頭に BRef(参照渡し) ByVal(値渡し) をつける ByRef パラメータ As 型 →ByRefは省略可能なので、注意が必要。省略しないほうがよい。 ByVal パラメータ As 型 →今の所はこちらで #ノンプロ研 #VBA初心者講座
2022-10-21 20:42:21ByVal/ ByRefは省略しない方が、後々他の方が見ても、自分が見てもわかりやすいです #ノンプロ研 #VBA初心者講座
2022-10-21 20:42:52コードをなぜ分けるのか? 一度にすべてを書くより、分けて書いた方が、コードの修正やメンテナンスがやりやすいです。 #ノンプロ研 #VBA初心者講座
2022-10-21 20:44:30どうしてプロシージャを分ける必要があるの? Ans.処理が多くなればなるほど、コードが長くなってしまう。短ければ、どこに何があるのか見つけやすくなるので、メンテもしやすくなる。 #ノンプロ研 #VBA初心者講座
2022-10-21 20:44:31引数とパラメータの名前は揃えたほうがいいのか?というご質問。 ほんださんは揃える派。敢えて似ている別の名前にする方もいるそうです。 どっちにするかは決めておきましょう。 #ノンプロ研 #VBA初心者講座
2022-10-21 20:54:39次は戻り値のあるFunctionプロシージャです。 受け取った値に処理を加えて返します ピザ屋に注文書を渡してピザを作って配達してもらうイメージです #ノンプロ研 #VBA初心者講座
2022-10-21 20:56:34Function プロシージャは Function プロシージャ名(ByVal パラメータ1 As 型, ByVal パラメータ2 As 型,...) As 型 '処理 プロシージャ名 = 戻り値 End Function 最後にプロシージャ名に処理でできた値を代入するのがお作法です #ノンプロ研 #VBA初心者講座
2022-10-21 20:56:56関数: 実行するとなんらかの処理を行って、結果を返してくれるもの Functionプロシージャっていいますよ #ノンプロ研 #VBA初心者講座
2022-10-21 20:57:59Functionプロシージャは戻り値を返すものなので、その戻り値の型を最初に宣言します Function プロシージャ名() as 型 #ノンプロ研 #VBA初心者講座
2022-10-21 20:58:20Functionプロシージャの宣言 Function プロシージャ名(ByVal パラメータ1 As 型, _ ByVal パラメータ2 As 型,...) As 型 '処理 プロシージャ名 = 戻り値 End Function As 型 戻り値の型 #ノンプロ研 #VBA初心者講座
2022-10-21 21:00:11