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

rij met formules kopieren

Status
Niet open voor verdere reacties.

willema

Gebruiker
Lid geworden
26 aug 2005
Berichten
320
Ik heb een knopje met daaraan volgende vba

Sub RijInvoegen()
ActiveCell.Offset(1, 0).Select
Selection.EntireRow.Insert
ActiveCell.Offset(-1, 0).Select
End Sub

Hiermee maak ik een rij bij onder de rij waarin ik me bevond op het moment van het klikken op de knop en keer ik terug naar de rij waarop ik me oorspronkelijk bevond.

Nu zou ik op die oorspronkelijk rij de cellen de formules in kolom E en F moeten kunnen selecteren en die doortrekken naar die nieuwe rij eronder.

Weet iemand wat ik hiervoor aan bovenstaande code moet toevoegen ?

Groeten,

Marnik
 
Wat ik vaak doe als ik het niet weet doe ik Record macro en doe ik het hem een keer voor
Dan komt de code vanzelf in een module terecht.
 
Hoi _ShaiHulud_,

Dat is nu net het probleem. Deze macro is NIEt met de macrorecorder op te bouwen. Omdat de macrorecorder alleen werkt met de rijen waarin je je toevallig bevindt.

bvb. Dit is het resultaat met de Macrorecorder als ik me toevallig op rij 29 bevind.

Selection.EntireRow.Insert
Range("E28:F28").Select
Selection.AutoFill Destination:=Range("E28:F29"), Type:=xlFillDefault

U ziet de recorder werkt dan met rij 28 verder en dus zal de macro niet werken als je hem uitvoert vanop bvb. rij 15.

Iemand een andere suggestie ?


Groeten,

marnik
 
Hoi Willema,

Probeer het eens met het volgende;

Dim var1 As Variant
Dim var2 As Variant
Sub RijInvoegen()
ActiveCell.Offset(1, 0).Select
Selection.EntireRow.Insert
ActiveCell.Offset(-1, 0).Select
ActiveCell.Offset(0, 1).Select
var1 = ActiveCell.Address
ActiveCell.Offset(0, 1).Select
var2 = ActiveCell.Address
Range(var1, var2).Select
Selection.Copy
ActiveCell.Offset(1, 0).Select
Selection.PasteSpecial Paste:=xlPasteFormulas, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
Application.CutCopyMode = False
End Sub

Je cursor moet dan wel voor de te kopieren formules staan, dus in kol D
Succes :D
 
Laatst bewerkt:
Hoi Willema
Wat ook nog wel eens helpt bij het opnemen in zo'n geval is, om de knop relatieve verwijzing in te schakelen direct nadat de opname is gestart. Zo gaat de macro niet uit van een celadres, maar van een "willekeurig" adres.
 
Dit kan ook nog:

Sub Macro1()
Dim Rij
Rij = ActiveCell.Row
Rows(Rij).Insert Shift:=xlDown
Range(Cells(Rij - 1, 5), Cells(Rij - 1, 6)).Copy
Cells(Rij, 5).PasteSpecial Paste:=xlPasteFormulas, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
Application.CutCopyMode = False
End Sub

Succes
John
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan