Hallo,
Ik heb een stukje vba code waarvan ik me afvraag of het sneller en handiger kan.
Er staan formules in de cellen G2 t/m N2. In N2 staat de formule: =ALS(G2-H2>0;G2-H2;"")
In een vba procedure kopieer ik dat naar alle rijen die van toepassing zijn (laatste rijnummer staat in variabele x).
Range("G2:N2").Copy Range("G3", Cells(x, "N"))
Columns("G:N").Copy
Columns("G:N").PasteSpecial Paste:=xlPasteValues
Application.CutCopyMode = False
Als de waarde in kolom G gelijk is aan de waarde in kolom H, dan moet de cel leeg zijn, maar dat is het niet. Het is een cel met een string met lengte 0.
Om die weg te halen gebruik ik een lus
For y = 2 To x
If Len(Cells(y, "N")) = 0 Then Cells(y, "N").ClearContents
Next y
Dat is nogal omslachtig en mijn vraag is: kan dit sneller/handiger?
Het is dus niet de bedoeling dat er een uitkomst 0 in komt te staan.
Ik heb een stukje vba code waarvan ik me afvraag of het sneller en handiger kan.
Er staan formules in de cellen G2 t/m N2. In N2 staat de formule: =ALS(G2-H2>0;G2-H2;"")
In een vba procedure kopieer ik dat naar alle rijen die van toepassing zijn (laatste rijnummer staat in variabele x).
Range("G2:N2").Copy Range("G3", Cells(x, "N"))
Columns("G:N").Copy
Columns("G:N").PasteSpecial Paste:=xlPasteValues
Application.CutCopyMode = False
Als de waarde in kolom G gelijk is aan de waarde in kolom H, dan moet de cel leeg zijn, maar dat is het niet. Het is een cel met een string met lengte 0.
Om die weg te halen gebruik ik een lus
For y = 2 To x
If Len(Cells(y, "N")) = 0 Then Cells(y, "N").ClearContents
Next y
Dat is nogal omslachtig en mijn vraag is: kan dit sneller/handiger?
Het is dus niet de bedoeling dat er een uitkomst 0 in komt te staan.