Excel VB で for ループを実行する場合、コード内でパラメータが数値であることをどのように指定しますか。具体的には、file1、file2、file3 などの名前の 500 個のファイルを開きたいとします。次のコードで、「i」が文字ではなく数値であることをどのように指定しますか。
Sub CopyCells()
For i = 1 To 500
Workbooks.Open Filename:="filei.do"
Next i
End Sub
私は Excel VB についてはまったく知りませんが、Stata でのプログラミング方法の方がずっとよく知っています。問題は、問題なく Stata にエクスポートする前に、500 個の Excel ファイルをフォーマットして保存しなければならないことです。そのために、VB コードを書きました。すべてはうまく機能していますが、for ループはうまく機能していません。なぜなら、「i」が文字 i ではなく数字であることをどう表現すればよいかがわからないからです。Stata では、`i' と書くだけです。
答え1
まず変数をi
整数型から文字列型に変換する必要がありますが、CStr
関数を使用すればこの作業は完了します:-
Sub CopyCells()
For i = 1 To 500
Workbooks.Open Filename:="file" + CStr(i) + ".do"
Next i
End Sub
http://msdn.microsoft.com/en-US/library/ch47ss2a(v=vs.80).aspx