質問: マクロを勉強し始めて2カ月程です。 ループ文におけるi=2やi=i+1等の位置についてわからないことがあります。 例えば下記のような設問において、 ・A1に指定したフォルダ内にある、 全てのエクセルファイル(xls,xlsx,
回答: ↓この3行が文字化けしてますよ~ strFileName = Dir(Cells(1, 1) & "\*.xls*") Do While strFileName <> "" Set wb = Workbooks.Open(wsOwn.Cells(1, 1) & "\" & strFileName) もとのコードは↓これですね? strFileName = Dir(Cells(1, 1) & "\*.xls*") Do While strFileName <> "" Set wb = Workbooks.Open(wsOwn.Cells(1, 1) & "\" & strFileName) ......................... i = 2 と j = 2 は、「初期値」です。 i は行、j は列です。 ファイル名をA列の第2行から下に書き込むので、 Cells(i, 1) = wb.Name シート名をその行の第2列から右に書き込むので、 Cells(i, j) = ws.Name i = 2 を Do ~ Loop の内側に書くと、常に 2 になってしまいます。 j = 2 も同様で、 For ~ Next の前に書く必要があります。 i = i + 1 と j = j + 1 は、それぞれの操作が終わった後に値を 1 増やして、2, 3, 4... にするので、各ループが終わる直前に書くわけです。 ........................ i と j については、これでいかがですか? 。。。。。。。 なお、ここは「英語カテ」です。 質問をするとき、投稿の直前で「カテゴリ」を選ぶ画面があるのですが、忘れやすいです。 コードが英語なので、自動では英語カテゴリが選ばれます。 コンピュータ、プログラミング関連のカテゴリを選択して再質問して下さい。もっと分かりやすい回答がもらえるかもしれませんから。 (文字化けは訂正しておきましょう^^) .......... I hope this will help you.