Dag allemaal,
als ik in onderstaande code de "sheet1" 's vervang door "berekening" (want ik wil mijn werkblad "berekening" noemen, niet "sheet1") krijg ik een runtime-error, nummer 9 met beschrijving: subscript out of range
originele code met "sheet1"
aangepaste code met "berekening"
waar zit mijn redeneringsfout?
als ik in onderstaande code de "sheet1" 's vervang door "berekening" (want ik wil mijn werkblad "berekening" noemen, niet "sheet1") krijg ik een runtime-error, nummer 9 met beschrijving: subscript out of range
originele code met "sheet1"
Code:
Sub test1()
Dim xlApp As Excel.Application
Dim xlBook As Excel.Workbook
Dim xlSheet As Excel.Worksheet
Set xlApp = CreateObject("Excel.Application")
Set xlBook = xlApp.Workbooks.Add
Set xlSheet = xlBook.Worksheets("sheet1")
Dim rij, kolom, rijresultaat, fasenr, faserij, fase1, fase2, fase3, fase4 As Integer
Dim fasevoeder, fasekg, voorwaarde As Variant
rij = 10
fasenr = 1
fase1 = 10
fase2 = 12
fase3 = 16
fase4 = 21
fasekg = 0
rijresultaat = 29
'in welke kolom staan de juiste waarden?
If Not Sheets("sheet1").Rows(1).Find([b29], , xlValues, xlWhole) Is Nothing Then
kolom = Sheets("sheet1").Rows(1).Find([b29], , xlValues, xlWhole).Column
Else: kolom = 1
End If
Sheets("sheet1").[b40] = kolom
'waarden uit juiste kolom halen
Do Until fasenr > 4
Do Until fasekg > 0
fasekg = Sheets("sheet1").Cells(rij, kolom).Value
rij = rij + 1
Loop
Worksheets("sheet1").Cells(rijresultaat, 7).Value = Worksheets("sheet1").Cells(rij - 1, kolom).Value
Worksheets("sheet1").Cells(rijresultaat, 6).Value = Worksheets("sheet1").Cells(rij - 1, 3).Value
fasenr = fasenr + 1
fasekg = 0
rijresultaat = rijresultaat + 1
If fasenr = 1 Then rij = fase1 Else If fasenr = 2 Then rij = fase2 Else If fasenr = 3 Then rij = fase3 Else rij = fase4
Loop
Set xlSheet = Nothing
Set xlBook = Nothing
xlApp.Quit
Set xlApp = Nothing
End Sub
aangepaste code met "berekening"
Code:
Sub test1()
Dim xlApp As Excel.Application
Dim xlBook As Excel.Workbook
Dim xlSheet As Excel.Worksheet
Set xlApp = CreateObject("Excel.Application")
Set xlBook = xlApp.Workbooks.Add
Set xlSheet = xlBook.Worksheets("berekening")
Dim rij, kolom, rijresultaat, fasenr, faserij, fase1, fase2, fase3, fase4 As Integer
Dim fasevoeder, fasekg, voorwaarde As Variant
rij = 10
fasenr = 1
fase1 = 10
fase2 = 12
fase3 = 16
fase4 = 21
fasekg = 0
rijresultaat = 29
'in welke kolom staan de juiste waarden?
If Not Sheets("berekening").Rows(1).Find([b29], , xlValues, xlWhole) Is Nothing Then
kolom = Sheets("berekening").Rows(1).Find([b29], , xlValues, xlWhole).Column
Else: kolom = 1
End If
Sheets("berekening").[b40] = kolom
'waarden uit juiste kolom halen
Do Until fasenr > 4
Do Until fasekg > 0
fasekg = Sheets("berekening").Cells(rij, kolom).Value
rij = rij + 1
Loop
Worksheets("berekening").Cells(rijresultaat, 7).Value = Worksheets("berekening").Cells(rij - 1, kolom).Value
Worksheets("berekening").Cells(rijresultaat, 6).Value = Worksheets("berekening").Cells(rij - 1, 3).Value
fasenr = fasenr + 1
fasekg = 0
rijresultaat = rijresultaat + 1
If fasenr = 1 Then rij = fase1 Else If fasenr = 2 Then rij = fase2 Else If fasenr = 3 Then rij = fase3 Else rij = fase4
Loop
Set xlSheet = Nothing
Set xlBook = Nothing
xlApp.Quit
Set xlApp = Nothing
End Sub
waar zit mijn redeneringsfout?