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

0

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 file1, file2, file3, ... 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

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

    
por Espinho da Flor 01.05.2012 / 00:40

1 resposta

3

Você precisaria converter a variável i de um tipo inteiro para um tipo de string primeiro, usando a função CStr que deveria fazer o trabalho: -

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

link

    
por 01.05.2012 / 00:53