Geachte die hard VB'ers en andere geïntresseerde,
Ik heb een probleem met een te schrijven macro, ik heb er geen ervaring mee en er zijn toch weer andere regeltjes en plichtjes dan bij C++/pascal/PHP.
Daarom wil ik een beroep op jullie doen om mijn probleem op te lossen.
Het doel van de macro is om in een excel sheet om de 55 regels 7 regels te verwijderen ( en dat deze verwijderde regels weer aansluiten, naar boven schuiven ) het zou helemaal mooi zijn als je eerste regel van de selecite en de laatste regel van de selectie en hoelang is als variable word opgegeven zodat de gebruiker per document kan varieren.
ik heb zelf al wat geprobeerd het is voor iemand wie vaker met macro's bezig is zo gedaan denk ik.
Wat ik tot nu toe in elkaar heb geflanst is dit:
( de manier van commentaar geven zal vast niet kloppen maar dat heb ik er nu even bijgezet om misverstanden te voorkomen )
startselect = 62
//eerste rij van de te verwijderen selectie
endselect = 67
// laatste rij van de te verwijderen selectie
laatsteregel = InputBox("Laatste rij", 40000)
// de lengte in rijen van het document, de weergave klopt niet helemaal omdat
// de standaart waarde 40000 zou moeten zijn alleen dat gooit hij nu in de titel
// terwijl dat Laatste rij had moeten zijn
laatsteregel = laatsteregel / 50
// laatsteregel gedeelt door 50 zodat je ongeveer het aantal keren hebt dat
// de loop zal moeten doorlopen
For teller = 1 To laatsteregel
Rows("startselect:endselect").Select
// rows werkt op een of andere manier niet ( terwijl cijfers inplaats van
// vars wel lukt )
Selection.Delete Shift:=xlUp
startselect = startselect + 55
endselect = endselect + 55
Next teller
nogmaals dit zal wel heel omslachtig wezen maar het gaat mij alleen maar om het resultaat want ik heb nu een bestand voor excel van 5 mb waarbij ik om de 55 regels 7 regels moet verwijderen.
Voor als je me kan helpen alvast heel erg bedankt...
----------COPY/PASTE----------
Sub Export()
'
' Export Macro
' Sneltoets: CTRL+e
startselect = 62
endselect = 67
laatsteregel = InputBox("Laatste rij", 40000)
laatsteregel = laatsteregel / 50
For teller = 1 To laatsteregel
Rows("startselect:endselect").Select
Selection.Delete Shift:=xlUp
startselect = startselect + 55
endselect = endselect + 55
Next teller
End Sub
----------COPY/PASTE----------
Ik heb een probleem met een te schrijven macro, ik heb er geen ervaring mee en er zijn toch weer andere regeltjes en plichtjes dan bij C++/pascal/PHP.
Daarom wil ik een beroep op jullie doen om mijn probleem op te lossen.
Het doel van de macro is om in een excel sheet om de 55 regels 7 regels te verwijderen ( en dat deze verwijderde regels weer aansluiten, naar boven schuiven ) het zou helemaal mooi zijn als je eerste regel van de selecite en de laatste regel van de selectie en hoelang is als variable word opgegeven zodat de gebruiker per document kan varieren.
ik heb zelf al wat geprobeerd het is voor iemand wie vaker met macro's bezig is zo gedaan denk ik.
Wat ik tot nu toe in elkaar heb geflanst is dit:
( de manier van commentaar geven zal vast niet kloppen maar dat heb ik er nu even bijgezet om misverstanden te voorkomen )
startselect = 62
//eerste rij van de te verwijderen selectie
endselect = 67
// laatste rij van de te verwijderen selectie
laatsteregel = InputBox("Laatste rij", 40000)
// de lengte in rijen van het document, de weergave klopt niet helemaal omdat
// de standaart waarde 40000 zou moeten zijn alleen dat gooit hij nu in de titel
// terwijl dat Laatste rij had moeten zijn
laatsteregel = laatsteregel / 50
// laatsteregel gedeelt door 50 zodat je ongeveer het aantal keren hebt dat
// de loop zal moeten doorlopen
For teller = 1 To laatsteregel
Rows("startselect:endselect").Select
// rows werkt op een of andere manier niet ( terwijl cijfers inplaats van
// vars wel lukt )
Selection.Delete Shift:=xlUp
startselect = startselect + 55
endselect = endselect + 55
Next teller
nogmaals dit zal wel heel omslachtig wezen maar het gaat mij alleen maar om het resultaat want ik heb nu een bestand voor excel van 5 mb waarbij ik om de 55 regels 7 regels moet verwijderen.
Voor als je me kan helpen alvast heel erg bedankt...
----------COPY/PASTE----------
Sub Export()
'
' Export Macro
' Sneltoets: CTRL+e
startselect = 62
endselect = 67
laatsteregel = InputBox("Laatste rij", 40000)
laatsteregel = laatsteregel / 50
For teller = 1 To laatsteregel
Rows("startselect:endselect").Select
Selection.Delete Shift:=xlUp
startselect = startselect + 55
endselect = endselect + 55
Next teller
End Sub
----------COPY/PASTE----------