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 i
zunächst von einem Integer-Typ in einen String-Typ konvertieren. Die Verwendung der CStr
Funktion 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