Когда вы делаете цикл for в Excel VB, как вы указываете, что параметр является числом в коде. Более конкретно, предположим, что я хочу открыть 500 файлов, названных как file1, file2, file3, ... как вы указываете в следующем коде, что "i" является числом, а не буквой???
Sub CopyCells()
For i = 1 To 500
Workbooks.Open Filename:="filei.do"
Next i
End Sub
Я не знаю Excel VB; я знаю, как программировать в Stata, гораздо лучше. Моя проблема в том, что у меня есть 500 файлов Excel, которые я должен отформатировать и сохранить, прежде чем я смогу экспортировать в Stata без проблем. Чтобы сделать это, я написал код 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