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

Rijen invoegen met behoud van inhoud kolom C en D

  • Onderwerp starter Onderwerp starter Vieri
  • Startdatum Startdatum
Status
Niet open voor verdere reacties.

Vieri

Gebruiker
Lid geworden
12 jan 2013
Berichten
64
Hallo allemaal,

ik zou graag een rij willen invoegen waarbij de inhoud van cel C12 en D12 (deze verwijzen naar een andere cel) wordt behouden. Als ik nu een rij invoeg dan is deze gehele regel leeg. Ik wil niet dat de gebruiker een reeds ingevulde rij kopieert en deze plakt op de nieuwe, lege ingevoegde rij, omdat de gebruiker daarna alles moet deleten om de rij weer leeg te krijgen (met het risico dat deze cel C en D alsnog leegmaakt).

Dus bij de actie ''rij invoegen'' moet de inhoud van cel C12 en D12 meegenomen worden.

Bij voorbaat
 
Je geeft te weinig info.
WAAR wil je dat een rij ingevoegd wordt?
Steeds bij rij 12 ?
Onder of boven rij 12 ?
En moet na invoegen zowel de nieuwe als de oude rij dezelfde formule bevatten?
 
Steeds onder rij 12, dus vanaf rij 12, waar dan ook. Cel C12 en D12 bevatten de verwijzing '=wzhen'

Dus als ik op rij 25 een rij invoeg dan moet er een lege rij komen met automatisch '=wzhen' in C25 en D25.

Hoop dat het zo iets duidelijker is
 
Laatst bewerkt:
Een willekeurige cel selecteren in de rij waaronder je een rij wil invoegen.
Dan deze macro uitvoeren:
Code:
Sub macro1()
With Selection
Rows(.Row + 1).EntireRow.Insert
Range("C" & .Row + 1 & ":D" & .Row + 1).Formula = Range("C" & .Row & ":D" & .Row).Formula
End With
End Sub
 
TOP!
Heb em nu aangepast voor andere cellen waar het eigenlijk om ging en het werkt!!
Code:
Range("Q" & .Row + 1 & ":R" & .Row + 1 & ":S" & .Row + 1 & ":T" & .Row + 1).Formula = Range("Q" & .Row & ":R" & .Row & ":S" & .Row & ":T" & .Row).Formula

Is het ook mogelijk om de opmaak te behouden? De cellen zijn allemaal omringd met randen. Als ik de macro gebruik op de laatste regel, dan kopieert deze netjes de inhoud van de cellen, alleen de randen niet.
Bedankt alvast!!!
 
Laatst bewerkt:
Als je antwoord moet je klikken op "Reageer op bericht", NIET op "Quote" (tenzij je wat uit vroegere berichten wil aanhalen), dat vindt de moderator van dit forum niet leuk !
Om de opmaak te behouden: neem een macro op die de cellen kopieert, en plak ze als "Plakken speciaal".
 
Excuses!

Moet ik dan desbetreffende macro verwerken in jouw macro? Krijg ik dan geen conflicten met het moois wat jij mij gegeven hebt?
 
Zet onderstaande code in moduleblad van toepassing.
Ga op cel C13 staan en voeg een rij in.

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
 If Target.Address = "$13:$13" Then Range("C13").Resize(, 2).FillDown
End Sub
 
Ik las iets van "Steeds onder rij 12", maar zoals jij het omschrijft zal het wel eens kunnen.
Moet Vieri maar een bestand meezenden om te weten of je slotzin in je laatste schrijven werkt.

Edit: @zapatr heeft zijn laatste bericht weer verwijderd.
 
Laatst bewerkt:
Sorry HSV,

ik ben echt een VBA-kneus.

De code van zapatr werkt perfect, alleen als ik zijn actie toepas op de allerlaatste regel (bijv 70) dan worden de juiste cellen meegekopieerd, alleen ontbreekt de opmaak (randen rondom de cellen). De opmaak moet eigenlijk hetzelfde blijven. Ik weet niet goed hoe ik zijn laatste advies moet verwerken.
 
Probeer de macro hieronder.
Die kan korter (zal HSV wel doen), maar ik heb nu niet veel tijd meer.
Code:
Sub macro3()
'Deze code is geschreven door Zapatr
With Selection
Rows(.Row + 1).EntireRow.Insert
Range("C" & .Row & ":D" & .Row).Copy
Range("C" & .Row + 1 & ":D" & .Row + 1).PasteSpecial Paste:=xlPasteFormulas
Application.CutCopyMode = False
End With
End Sub
Of de formules in de ingevoegde rij de juiste waarde weergeven, hangt af van hoe de formules in de oorspronkelijke rij er uitzien.
 
Deze macro doet hetzelfde als die in bericht #11, maar is iets korter.
Code:
Sub macro4()
With Selection
Rows(.Row + 1).EntireRow.Insert
Range("C" & .Row & ":D" & .Row + 1).FillDown
End With
End Sub
 
Thanks Zapatr,

zie bijlage. Bekijk bijlage helpmij - regel invoegen.xlsm

Op bijvoorbeeld regel 13,14 en 15 gaat alles prima wanneer ik op de knop 'Regel toevoegen' druk.

Doe ik hetzelfde voor regel 16 dan kopieert deze wel de juiste cellen, maar gebeurt er niets met de opmaak van de cellen 17A t/m 17P. De randen moeten doorgekopieerd worden en dat gebeurt niet
 
Da's handig, om er een wachtwoord op te zetten :confused:
Nou ja, niet verwonderlijk voor een slotenmakerij.
 
Laatst bewerkt:
Logisch, je moet bij kolom B beginnen, niet bij Q.
Gebruik dit:
Code:
Sub Insert_row()
With Selection
Rows(.Row + 1).EntireRow.Insert
Range("B" & .Row & ":T" & .Row + 1).FillDown
End With
End Sub
 
Top, bedankt! Alleen vul je nu de gehele rij in. Cel B t/m P moet leegblijven, want die wordt door de gebruiker zelf ingevuld. Cel Q, R, S en T moeten wel ingevuld blijven met een verwijzing. Als je dit werkend kan krijgen, dan ben ik gelijk van mijn probleem in een ander topic af :-)

Ik weet niet of het mogelijk is binnen deze code om aan te geven wat van toepassing is voor Filldown. De randen moeten wel doorgevoerd worden van cel B t/m P, maar de inhoud niet. De gebruiker moet zelf een nieuwe, lege regel aan kunnen maken met behoud van de info in cel Q, R, S en T.

Heel erg bedankt voor je hulp tot nu toe!
 
Code:
Sub Insert_row()
 With ActiveSheet
  .Unprotect "2"
    With Selection
       Rows(.Row + 1).EntireRow.Insert
       Range("B" & .Row + 1 & ":T" & .Row + 1).FillDown
       Range("B" & .Row + 1 & ":P" & .Row + 1).ClearContents
     End With
  .Protect "2"
 End With
End Sub
 
Voeg in boven "End With":
Code:
Range("B" & .Row + 1 & ":P" & .Row + 1).ClearContents
Hier had je met even nadenken zelf op moeten komen vind ik.
Edit: HSV was me net voor.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan