Excel VB para loop; como você especifica que o parâmetro i é um parâmetro no código?

Excel VB para loop; como você especifica que o parâmetro i é um parâmetro no código?

Quando você faz um loop for no Excel VB, como você especifica que o parâmetro é um número no código. Mais especificamente, suponha que eu queira abrir 500 arquivos, nomeados como arquivo1, arquivo2, arquivo3, ... como você especifica no código a seguir que "i" é um número, não uma letra???

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

Não conheço nenhum Excel VB; Eu sei programar em Stata muito melhor. Meu problema é que tenho 500 arquivos Excel que preciso formatar e salvar antes de poder exportar para Stata sem problemas. Para fazer isso, escrevi um código VB. Tudo está funcionando bem, exceto um loop for, porque não sei como dizer que "i" é um número, não a letra i. No Stata tudo que você faz é escrever `i'.

Responder1

Você precisaria primeiro converter a variável ide um tipo inteiro para um tipo string, usando a CStrfunção deve fazer o trabalho: -

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

informação relacionada