Excel VB for-Schleife; wie geben Sie an, dass der Parameter i ein Parameter im Code ist?

Excel VB for-Schleife; wie geben Sie an, dass der Parameter i ein Parameter im Code ist?

Wenn Sie in Excel VB eine For-Schleife ausführen, wie geben Sie dann an, dass der Parameter im Code eine Zahl ist? Genauer gesagt: Angenommen, ich möchte 500 Dateien mit den Namen „file1“, „file2“, „file3“ usw. öffnen. Wie geben Sie im folgenden Code an, dass „i“ eine Zahl und kein Buchstabe ist???

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

Ich kenne mich mit Excel VB nicht aus; ich kann viel besser mit Stata programmieren. Mein Problem ist, dass ich 500 Excel-Dateien habe, die ich formatieren und speichern muss, bevor ich sie problemlos nach Stata exportieren kann. Dazu habe ich einen VB-Code geschrieben. Alles funktioniert gut, bis auf eine For-Schleife, weil ich nicht weiß, wie ich sagen soll, dass „i“ eine Zahl ist und nicht der Buchstabe i. In Stata muss man einfach „i“ schreiben.

Antwort1

Sie müssen die Variable izunächst von einem Integer-Typ in einen String-Typ konvertieren. Die Verwendung der CStrFunktion sollte dazu genügen: -

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

verwandte Informationen