* Sorry voor de titel maar dit kan blijkbaar niet meer ge-edit worden.
Hoi,
Ik probeer wat vba te leren voor Excel maar stuit al op een probleem.
Ik zou graag de waarden van bepaalde cellen uit verschillende Excel bestanden veranderen. Daarvoor heb ik een beetje code geschreven met de bedoeling de bestanden een voor een te openen, cell wijzigen en vervolgens saven en sluiten.
Mijn code loopt vast op volgende regel:
Workbooks("C:\test\" & sBuf).Worksheets("sheet1").Range("A2").Value = "Changed"
De code die vooraf gaat is: Workbooks.Open Filename:="C:\test\" & sBuf
Het bestand gaat dan ook open maar bij de change value loopt het mis met volgende error:
Runtime error 9: Subscript out of range.
Ik heb me suf gezocht naar een mogelijke oorzaak maar ik vind niets.
De volledige code:
Sub ReadAsciiFile()
Dim sFileName As String
Dim iFileNum As Integer
Dim sBuf As String
sFileName = "C:\test\list.txt" 'Dit bevat een lijst met alle bestanden in de directory test
If Len(Dir$(sFileName)) = 0 Then 'checken of het bestand bestaat
Exit Sub
End If
iFileNum = FreeFile()
Open sFileName For Input As iFileNum
Do While Not EOF(iFileNum)
Line Input #iFileNum, sBuf
Debug.Print sBuf
If InStr(sBuf, ".xls") Then
test = "c:test\" & sBuf
Workbooks.Open Filename:="C:\test\" & sBuf
Workbooks("C:\test\" & sBuf).Worksheets("sheet1").Range("A2").Value = "Changed"
'lijn hierboven loopt mis
Workbooks("C:\test\" & sBuf).Save
Workbooks("C:\test\" & sBuf).Close
End If
Loop
Close iFileNum
End Sub
Graag advies
Hoi,
Ik probeer wat vba te leren voor Excel maar stuit al op een probleem.
Ik zou graag de waarden van bepaalde cellen uit verschillende Excel bestanden veranderen. Daarvoor heb ik een beetje code geschreven met de bedoeling de bestanden een voor een te openen, cell wijzigen en vervolgens saven en sluiten.
Mijn code loopt vast op volgende regel:
Workbooks("C:\test\" & sBuf).Worksheets("sheet1").Range("A2").Value = "Changed"
De code die vooraf gaat is: Workbooks.Open Filename:="C:\test\" & sBuf
Het bestand gaat dan ook open maar bij de change value loopt het mis met volgende error:
Runtime error 9: Subscript out of range.
Ik heb me suf gezocht naar een mogelijke oorzaak maar ik vind niets.
De volledige code:
Sub ReadAsciiFile()
Dim sFileName As String
Dim iFileNum As Integer
Dim sBuf As String
sFileName = "C:\test\list.txt" 'Dit bevat een lijst met alle bestanden in de directory test
If Len(Dir$(sFileName)) = 0 Then 'checken of het bestand bestaat
Exit Sub
End If
iFileNum = FreeFile()
Open sFileName For Input As iFileNum
Do While Not EOF(iFileNum)
Line Input #iFileNum, sBuf
Debug.Print sBuf
If InStr(sBuf, ".xls") Then
test = "c:test\" & sBuf
Workbooks.Open Filename:="C:\test\" & sBuf
Workbooks("C:\test\" & sBuf).Worksheets("sheet1").Range("A2").Value = "Changed"
'lijn hierboven loopt mis
Workbooks("C:\test\" & sBuf).Save
Workbooks("C:\test\" & sBuf).Close
End If
Loop
Close iFileNum
End Sub
Graag advies