Ga naar inhoud

excel opmaken van macro


filiep

Aanbevolen berichten

Ik ben aan het zoeken naar een macro om in een excel bestand onder een willekeurige rij een lijn in te voegen met hierin de bestaande formules alsook met het kopieren van een aantal cellen naar deze ingevoegde rij.

Ik heb een macro geschreven en zie dat deze alleen de gegevens van de eerste rij kopieert. De formules worden in iedere willekeurige nieuwe rij gekopieert.

Wie kan mij helpen?

Fil[ATTACH]37449[/ATTACH]iep

test 2014.11.11.xlsm

Link naar reactie
Delen op andere sites

Als je het dan toch met een macro wilt doen.

Plak dan deze code achter je Worksheet

Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("D:D")) Is Nothing Then
If Target.Column = 4 Then
ActiveSheet.Unprotect
Target.Offset(, 1) = (Target) * Target.Offset(, -1)
ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
End If
End If
End Sub

bucky

1-test filiep.xlsm

aangepast door bucky
Bijlage
Link naar reactie
Delen op andere sites

Bedankt voor de reactie,

Ik heb geprobeerd doch lukt niet.

Kunt u dit eens plaatsen in de macro van mijn voorbeeld.

Waarom macro: het gaat in feite over een geheel excel werkblad waar nu en dan een blanco lijn moet ingevoegd worden en ik dacht dat dit het eenvoudigste was

Link naar reactie
Delen op andere sites

Dag Bucky

Ik heb een en ander niet begrepen. Daarbij, ik ben geen ultra specialist in de materie "macros".

Ik heb gedaan volgens u gezegd heeft en er gebeurt niets. Ik krijg er geen rij bij en de inhoud van de cellen a1 en b1 worden dus ook niet gekopieerd.

Filiep

Link naar reactie
Delen op andere sites

Filiep,

Als ik naar jou voorbeeldje kijk, zijn de kolommen A en B vrij in te vullen kolommen.

De macro die ik je gegeven heb gaat puur over de kolommen C,D en E

If Target.Column = 4 Then

Target.Offset(, 1) = (Target) * Target.Offset(, -1)

Dit stukje code zegt:

Als er in "Kolom 4" (D) een waarde staat.

DAN

Kolom +1(E) = kolom (D) maal kolom -1©

Als formule zou er dus dit staan in E1

ALS(D1<>"";D1*C1;"")

Als je er helemaal niet uitkomt, post dan het originele bestand, zonder privé gegevens.

bucky

Link naar reactie
Delen op andere sites

Dag Bucky,

test 2014.11.11.xlsm


Ik heb nog wat zitten proberen doch geraak er niet aan uit.

Zie hierbij gevoegd een deel van mijn excel bestand waarover het gaat.

Zoals u zult zien dat, wanneer ik met de curser op een bepaalde cel ga staan bv B22, er met het indrukken van de knop "rij invoegen onder geselecteerde rij" een rij ingevoerd worden met copy van de formules van kolommen C tem I en O tem S alsook copy van de teksten in kolom A22 en B22 naar A23 en B23.

Dit gebeurt echter niet als ik bv. op cel B25 ga staan en op de knop druk: er komt wel een rij bij doch de teksten van kolommen A en B worden niet mee gecopieerd.

Dit is juist mijn probleem. Ook hier zouden voor alle ingevoegde rijden de numerotering + de teksten van de rij boven de ingevoerde rij moeten worden gecopieerd (dus zoals dit gebeurt bij rij 1.01).

That's it.

Filiep

[ATTACH]37530[/ATTACH]

Link naar reactie
Delen op andere sites

filiep,

Vervang macro7 door onderstaande.

Het is makkelijker als je een macro een logische naam geeft, en geen automatisch "macro nummer".........maar dat terzijde.

Sub Rij_Invoegen()
Application.ScreenUpdating = False
Rows(ActiveCell.Row).Copy
Rows(ActiveCell.Row).Offset(1).Insert
Rows.Copy
ActiveCell.Offset(0, 0).Select
Application.CutCopyMode = False
Application.ScreenUpdating = True
End Sub

bucky

Link naar reactie
Delen op andere sites

×
×
  • Nieuwe aanmaken...

Belangrijke informatie

We hebben cookies geplaatst op je toestel om deze website voor jou beter te kunnen maken. Je kunt de cookie instellingen aanpassen, anders gaan we er van uit dat het goed is om verder te gaan.