• Privacywetgeving
    Het is bij Helpmij.nl niet toegestaan om persoonsgegevens in een voorbeeld te plaatsen. Alle voorbeelden die persoonsgegevens bevatten zullen zonder opgaaf van reden verwijderd worden. In de vraag zal specifiek vermeld moeten worden dat het om fictieve namen gaat.

Fout in code

Status
Niet open voor verdere reacties.

marcel31281

Gebruiker
Lid geworden
30 okt 2015
Berichten
391
Kan iemand mij helpen met fout in onderstaande code?


Sub hsv()
Dim sv, hs, i As Long, s0 As String
Sheets("-OVERZICHT-").Unprotect ("AFTERSALES") 'Opheffen beveiliging
sv = Sheets("-OVERZICHT-").Cells(14, 2).CurrentRegion.Resize(, 8)
For i = 2 To UBound(sv)
If sv(i, 1) = "" Then s0 = s0 & " " & i
Sheets("-OVERZICHT-").Protect Password:="AFTERSALES", DrawingObjects:=True, Contents:=True, Scenarios:=True 'Beveiliging terug zetten"
Next i
hs = Application.Transpose(Split(Trim(s0)))
With Sheets("AFRONDEN")
ActiveSheet.Unprotect ("AFTERSALES") 'Opheffen beveiliging
.Range("c58").Resize(UBound(hs), 4) = Application.Index(sv, hs, Array(6, 7, 9, 8))
ActiveSheet.Protect Password:="AFTERSALES", DrawingObjects:=True, Contents:=True, Scenarios:=True 'Beveiliging terug zetten"
End With
End Sub

De data die opgehaald moet worden gaat prima, maar hij slaat 5 lege regels over die leeg blijven

Alvast bedankt
 
nog nooit iemand gezegd hoe je een vraag moet stellen?
 
Dat, en je code tussen CODE tags zetten. We zijn een stuk toeschietelijker als de code correct is opgemaakt :).
 
Excuses maar had de vraag even snel op mijn telefoon gedaan en moet nog even wennen aan het nieuwe forum.


Code:
Sub hsv()
Dim sv, hs, i As Long, s0 As String
Sheets("-OVERZICHT-").Unprotect ("AFTERSALES") 'Opheffen beveiliging
sv = Sheets("-OVERZICHT-").Cells(14, 2).CurrentRegion.Resize(, 8)
For i = 2 To UBound(sv)
If sv(i, 1) = "" Then s0 = s0 & " " & i
Sheets("-OVERZICHT-").Protect Password:="AFTERSALES", DrawingObjects:=True, Contents:=True, Scenarios:=True 'Beveiliging terug zetten"
Next i
hs = Application.Transpose(Split(Trim(s0)))
With Sheets("AFRONDEN")
ActiveSheet.Unprotect ("AFTERSALES") 'Opheffen beveiliging
.Range("c58").Resize(UBound(hs), 4) = Application.Index(sv, hs, Array(6, 7, 9, 8))
ActiveSheet.Protect Password:="AFTERSALES", DrawingObjects:=True, Contents:=True, Scenarios:=True 'Beveiliging terug zetten"
End With
End Sub
 
Code:
sv = Sheets("-OVERZICHT-").Cells(14, 2).CurrentRegion.Resize(, 8)

neemt alleen aaneengesloten cellen op.
 
Bedankt voor je reactie, maar is dit het probleem dat de gegevens 5 rijen lager pas geplaatst worden op het blad?


FOUT.jpg
 
Laatst bewerkt:
Plaats een Excel bestand.
De code is gedeeltelijk door mij geschreven, maar door iemand aangepast.
Ik maak nooit gebruik van de overbodige Activesheet in code in zulke gevallen (heeft ook niets met With te maken om de beveiliging eraf te halen).

Als schot voor de boeg op je vraag: waarschijnlijk zijn ook de kolommen 6, 7, 8 en 9 leeg waarvan cells(i,1) ook leeg is.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan