Function newst(s As String) As String
Dim sfin As String 'これは何のための設定でしょうか?
Dim i(1) As Integer ’i(1)とi(0)はどう使い分けているのでしょうか?この()内の数字の違いは何を意味するのでしょうか?
i(0) = CInt(Rnd() * 3) 'i(0)には2が返ってくる
i(1) = CInt(Rnd() * 3) 'i(1)には2がかえってくる。
Dim c As Integer
For c = 1 To i(0) '文字列の前に2行の改行をいれるマクロと認識。合っていますでしょか?
s = vbNewLine & s
Next
For c = 1 To i(1) '文字列の後に2行の改行を入れるマクロと認識、合っていますでしょうか?
s = s & vbNewLine
Next
newst = s
End Function
2023/06/23 16:02
小川 慶一さんのコメント
(コメントID: 8194)
> 改行のたくさん入った文字列を作るときに書いたマクロが読み解けません
ということですが、ChatGPT等のAIに書かせたコードでしょうか。
Function プロシージャ、配列とも、発展編2の範囲です。 発展編1までの技術レベルでは読み解けないのは当然です。
退会ユーザさんの投稿
(投稿ID: 5485)
1行改行を入れるマクロは理解できたのですが、改行のたくさん入った文字列を
作るときに書いたマクロが読み解けません。下記教えてください。
小川 慶一さんのコメント
(コメントID: 8194)
ということですが、ChatGPT等のAIに書かせたコードでしょうか。
Function プロシージャ、配列とも、発展編2の範囲です。
発展編1までの技術レベルでは読み解けないのは当然です。
質問文の様子から察するに、たぶんこのマクロの動作確認の方法もよく分からない状態ではないかと思います。
>i(0) = CInt(Rnd() * 3) 'i(0)には2が返ってくる
>i(1) = CInt(Rnd() * 3) 'i(1)には2がかえってくる。
>For c = 1 To i(1) '文字列の後に2行の改行を入れるマクロと認識、合っていますでしょうか?
ぜんぶ違います。
全体の理解をするには部分についての理解がある程度あることが大前提ですが、にもかかわらず「どこか1行」どころかほとんどの行の記述内容を理解できない方から
> Dim sfin As String '【これ】は何のための設定でしょうか?
というような質問をされても、「【これ】」が指すのが以下のどれなのか判然としません。
[1] Dim sfin As String という文全体のことを指して聞いているのか
[2] As String の部分だけを指して聞いているのか(*発展編1の学習範囲ですから)
[3] そもそもこの文そのものはこのプロシージャ内でどのように機能しているのか
こういう状態で質問者が一発で納得行くような解説をするのは無理です。
(質問者の技術レベルが分からないので回答の範囲や粒度を決められない)
まずは発展編1の演習をしっかりされることをおすすめします。