• 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.

Lijn kopiëren met VBA -> formule in lijn loopt verkeerd

Status
Niet open voor verdere reacties.

tonissteiner

Gebruiker
Lid geworden
17 sep 2008
Berichten
352
Hallo,

ik loop vast op een code waarmee ik een lijn wil invoegen. Deze code kopieert een lijn na de laatste cel die geselecteerd is. Echter in deze lijn staat een formule maar deze wordt niet automatisch mee aangepast.

De code is:

Code:
Sub Lijn_Nieuw_Taken()
'
Application.ScreenUpdating = False

    Dim sCelAdres As String

    sCelAdres = Selection.Address
    
    ActiveSheet.Unprotect
    
    Rows("26:32").Select
    Selection.EntireRow.Hidden = False

    Application.Goto Reference:="Lijn_sjabloon_Taken"
    Selection.Copy
    Range(sCelAdres).Select
    ActiveCell.Offset(1).EntireRow.Select
    Rows(ActiveCell.Row).EntireRow.Insert Shift:=xlShiftDown
    Application.CutCopyMode = False
    
    Range("C" & ActiveCell.Row + 0).Select
    
    Rows("27:32").EntireRow.Hidden = True
    
    ActiveSheet.Protect
    
Application.ScreenUpdating = True

End Sub

en de formule in één van de cellen is:

=IF($G37="";"";VLOOKUP($G37;Projecten;5;FALSE))

Stel nu dat ik op een cel ergens op rij 50 sta dan zal de lijn wel toegevoegd worden maar in deze lijn zal dan de formule niet aangepast zijn naar de waarden in lijn 51 maar bijvoorbeeld naar lijn 59. Het is alsof er telkens 9 bijgeteld worden in de formule die juist gekopieerd is (maar dat is geen regelmaat).

zie iemand een fout in mijn code die ik over het hoofd zie?

alvast bedankt
 
Ton,

De grootste fout, die ik zie, is dat je geen bestand hebt meegestuurd.
Verder zie ik erg veel Select statements die de overzichtelijkheid niet bevorderen.
Ten slotte wordt er volgens mij helemaal niets gekopieerd anders had ik wel ergens een paste
statement gezien en die komt in je hele code niet voor.
En dat in een van de cellen een formule voorkomt begrijp ik maar wat wil je daarmee zeggen,
is dit goed of fout?

Kort om, zonder bestand snap ik je niet en wordt het allemaal voor mij een beetje te onduidelijk.

Veel Succes.
 
Hallo Els ;),

inderdaad zonder bestand had ik het nogal moeilijk uitgelegd. Het bestand is nogal groot vandaar dat ik het niet meegestuurd had. Maar heb me toch de moeite genomen er een blad uit te halen om mijn probleem te illustreren.
Maar uiteindelijk met zelf nog wat te spelen heb ik mijn fout zelf gevonden. en zoals gewoonlijk is het een heel domme fout. Ik zal het proberen uitleggen dat anderen misschien leren uit mijn fout ook. best is het bestand er eens bij te nemen.
Bekijk bijlage EGM - v5.00.2216 SC.14w22d1 - Copy2.xls
Op lijn 29 (die normaal verborgen is en met de code zichtbaar en terug verborgen zal worden) staat dus de formule in kolom I-J. Hier stond nog in G37 ipv G29 vandaar dat er telkens 9 extra rijen werden bijgeteld.

Verder schreef je dat er nergens een paste in voorkomt. Toch werkt de code wel. misschien zie je iets over het hoofd of kan je nog iets leren uit deze code :D

bedankt
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan