Ik ben nieuw met vba en ik vroeg mij af hoe ik dit anders kan doen.
Ik wil dat hij kijkt of er een waarde staat in tabblad 'info' in kolom B/C/D/E (code hier onder is alleen b/c/d dat weet ik)
Vervolgens deze opzoekt in tabblad 'data' en invult in een tabblad naar keuze.
Nu heb ik 2 vragen.
Hoe kan ik dit efficiënter schrijven zonder voor elke cel een heel verhaal te typen
en 2. Als er in mijn tabblad info een waarde staat maar de vlookup hem niet kan vinden krijg ik een #N/A error. Hierdoor heeft hij de getallen die hij wel heeft gevonden niet weer. Hoe kan ik er voor zorgen dat hij de getallen die hij al had wel weergeeft en de N/A negeert.
Ik wil dat hij kijkt of er een waarde staat in tabblad 'info' in kolom B/C/D/E (code hier onder is alleen b/c/d dat weet ik)
Vervolgens deze opzoekt in tabblad 'data' en invult in een tabblad naar keuze.
Nu heb ik 2 vragen.
Hoe kan ik dit efficiënter schrijven zonder voor elke cel een heel verhaal te typen
en 2. Als er in mijn tabblad info een waarde staat maar de vlookup hem niet kan vinden krijg ik een #N/A error. Hierdoor heeft hij de getallen die hij wel heeft gevonden niet weer. Hoe kan ik er voor zorgen dat hij de getallen die hij al had wel weergeeft en de N/A negeert.
Code:
Set wkb = ActiveWorkbook
Set wks = ActiveSheet
Set sel = Selection
shname = InputBox("Voer de eerste 3 letters van de maand in")
Sheets(shname).Select
If wkb.Sheets("info").Cells(1, 2) <> 0 Then
Sheets(shname).Cells(1, 8) = [VLOOKUP(VLOOKUP(A1,info!A:D,2,FALSE),Data!a:d,2,FALSE)]
If wkb.Sheets("info").Cells(1, 3) <> 0 Then
Sheets(shname).Cells(1, 8) = [VLOOKUP(VLOOKUP(A1,info!a:d,3,FALSE),data!a:d,2,FALSE)] + [VLOOKUP(VLOOKUP(A1,info!A:D,2,FALSE),Data!a:d,2,FALSE)]
If wkb.Sheets("info").Cells(1, 4) <> 0 Then
Sheets(shname).Cells(1, 8) = [VLOOKUP(VLOOKUP(A1,info!a:d,4,FALSE),data!a:d,2,FALSE)] + [VLOOKUP(VLOOKUP(A1,info!A:D,2,FALSE),Data!a:d,2,FALSE)] + [VLOOKUP(VLOOKUP(A1,info!a:d,3,FALSE),data!a:d,2,FALSE)]
End If
End If
End If
If wkb.Sheets("info").Cells(2, 2) <> 0 Then
Sheets(shname).Cells(2, 8) = [VLOOKUP(VLOOKUP(A2,info!A:D,2,FALSE),Data!a:d,2,FALSE)]
If wkb.Sheets("info").Cells(2, 3) <> 0 Then
Sheets(shname).Cells(2, 8) = [VLOOKUP(VLOOKUP(A2,info!a:d,3,FALSE),data!a:d,2,FALSE)] + [VLOOKUP(VLOOKUP(A2,info!A:D,2,FALSE),Data!a:d,2,FALSE)]
If wkb.Sheets("info").Cells(2, 4) <> 0 Then
Sheets(shname).Cells(2, 8) = [VLOOKUP(VLOOKUP(A2,info!a:d,4,FALSE),data!a:d,2,FALSE)] + [VLOOKUP(VLOOKUP(A2,info!A:D,2,FALSE),Data!a:d,2,FALSE)] + [VLOOKUP(VLOOKUP(A2,info!a:d,3,FALSE),data!a:d,2,FALSE)]
End If
End If
End If
If wkb.Sheets("info").Cells(3, 2) <> 0 Then
Sheets(shname).Cells(3, 8) = [VLOOKUP(VLOOKUP(A3,info!A:D,2,FALSE),Data!a:d,2,FALSE)]
If wkb.Sheets("info").Cells(3, 3) <> 0 Then
Sheets(shname).Cells(3, 8) = [VLOOKUP(VLOOKUP(A3,info!a:d,3,FALSE),data!a:d,2,FALSE)] + [VLOOKUP(VLOOKUP(A3,info!A:D,2,FALSE),Data!a:d,2,FALSE)]
If wkb.Sheets("info").Cells(3, 4) <> 0 Then
Sheets(shname).Cells(3, 8) = [VLOOKUP(VLOOKUP(A3,info!a:d,4,FALSE),data!a:d,2,FALSE)] + [VLOOKUP(VLOOKUP(A3,info!A:D,2,FALSE),Data!a:d,2,FALSE)] + [VLOOKUP(VLOOKUP(A3,info!a:d,3,FALSE),data!a:d,2,FALSE)]
End If
End If
End If
Laatst bewerkt door een moderator: