[[20171002170726]] 『「一つのシートから各個人ごとに分割したシートを』(VBA初心者) >>BOT

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『「一つのシートから各個人ごとに分割したシートを作」[エクセル初心者] について』(VBA初心者)

投稿
[[20050721182519]] 『一つのシートから各個人ごとに分割したシートを作』(エクセル初心者) 
について...

上記マクロについてですが、どなたかこのマクロの解説をしていただけないでしょうか。
特に、プロシージャの後の()のなかの文字がどのような働きをしているのか理解できておりません。
宜しくお願い致します。

< 使用 Excel:Excel2010、使用 OS:unknown >


 抽象的な質問過ぎて、全部回答するのは面倒です。
http://www.asahi-net.or.jp/~ef2o-inue/vba_k/sub04_030.html

 デバッグしてみて、分からないところだけ掻い摘んで聞いて頂けますか?
(稲葉) 2017/10/02(月) 18:56

大筋だけ書きますと、
AddLine:行とシート名を指定すると、指定行をコピーして、指定シートの最終行に追加する。
checkAndMake:シート名を指定すると、そのシートが既に存在するかチェックして、無ければシート追加する。

こんな感じのようですね。 答えが目の前にあるのだから、それを動かして調べる事で、アイデアを理解するのが大事です。

何でもかんでも説明を求めてしまうと、上達はありませんよ。 今回も、この回答を見てしまったことで、あぁ、そういう意味だったのか、と理解するでしょうけど、自力で多くのアイデアを身につける機会を失ってしまった事でしょう。 残念な事です。
(???) 2017/10/03(火) 09:44


 すみません、質問が抽象的過ぎました。Sub Grouping()で、
 Call AddLine(i, .Cells(i, 2).Value )とあり、この値を
 Sub AddLine(lineNum%, sheetName$)のlineNumやsheetNameにわたしているとおもうのですが、
なぜこのような事が可能なのでしょうか。

(VBA初心者) 2017/10/03(火) 10:42


 「引数」(ひきすう)と言います。
 以下参考サイトです。

http://vbae.odyssey-com.co.jp/column/no28_1.html

 ここ読むと、マンガみたいで面白いですよ。

http://www.officepro.jp/excelvba/sub/index3.html

 サンプルがあるので、勉強になるかと。

 lineNum% sheetName$
        ~           ~
 この%とか$は、型宣言文字といって
 %はInteger型
 $はString型をあらわします。
https://www.vba-ie.net/programing/variable-statement2.html
(稲葉) 2017/10/03(火) 11:07

関数をピザに例えるのは面白いですね。が、料金の支払いを考えてしまうと、イマイチかも? 言葉で理解するより、動く様をステップ実行して納得してもらうのが良いかもです。 引数は、ほとんどの命令に必要なものなので、きっちり理解してください。 そのうち、Sub と Function の違いが判るようになれば一人前です。(当面はSubだけ理解していれば十分です)

そして、型宣言文字ですが、これはVBAの元になった大昔のBASIC言語の書き方であり、未だに互換性のために残っているだけのものです。 なので、末尾に記号を付けると変数型を表すのだ、という事だけ頭の片隅に留めておいて、自分からは使わない事をお薦めします。
(???) 2017/10/03(火) 11:27


皆様

早々にご回答いただきありがとうございます。
引数を理解するのは大変そうですが、自分でも使ってみて徐々に慣れたいと思います。

また、ご指摘の通り型宣言文字は自分では利用しないようにします。

(VBA初心者) 2017/10/03(火) 16:41


コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.