Excel VB para bucle; ¿Cómo se especifica que el parámetro i es un parámetro en el código?

Excel VB para bucle; ¿Cómo se especifica que el parámetro i es un parámetro en el código?

Cuando realiza un bucle for en Excel VB, ¿cómo especifica que el parámetro es un número en el código? Más específicamente, supongamos que quiero abrir 500 archivos, denominados archivo1, archivo2, archivo3, ... ¿cómo se especifica en el siguiente código que "i" es un número, no una letra?

Sub CopyCells()
    For i = 1 To 500
        Workbooks.Open Filename:="filei.do"
    Next i
End Sub

No conozco ningún Excel VB; Sé mucho mejor programar en Stata. Mi problema es que tengo 500 archivos excel que tengo que formatear y guardar antes de poder exportar a Stata sin problema. Para hacer eso, escribí un código VB. Todo funciona bien, excepto un bucle for, porque no sé cómo decir que "i" es un número, no la letra i. En Stata todo lo que debes hacer es escribir 'i'.

Respuesta1

Primero necesitaría convertir la variable ide un tipo entero a un tipo de cadena, usar la CStrfunción debería hacer el trabajo: -

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

información relacionada