Celinhoud opschuiven

Status
Niet open voor verdere reacties.

carmvelaat

Gebruiker
Lid geworden
24 feb 2010
Berichten
6
Ik wil in excel een bepaalde cellen range een rij naar beneden plaatsen. De kolommen staan vast C t/m J, alleen de rij is variabel te kiezen. De rij kiezen wil ik doen d.m.v. input uit een cell (dus in het voorbeeld op rij 18) of door selectie van geselecteerde cell. Ik heb al iets van code wat doet wat ik wil. Alleen hoe krijg ik b.v. als in cell A1 18 staat dit in mijn macro zo dat ik onderstaande gebeurt.

Code:
Sub Macro1()
'
' Macro1 Macro
    Range("C18:J174").Select
    Selection.Copy
    Range("C19").Select
    ActiveSheet.Paste
    Range("C18:J18").Select
    Selection.ClearContents
End Sub
 
Laatst bewerkt door een moderator:
Wat met:

Code:
Sub Macro1()
    Range("C18").entirerow.insert
End Sub
 
Ik wil niet de hele rij opschuiven, maar alleen een paar cellen uit die rij.

Maar een grotere vraag van mij is hoe kan de macro zo maken dat ik bv als ik in cell A1 een waarde heb staan hij deze gebruikt dus iets als: cell A1 bevat het getal 18. Hoe kan ik dat dan uitlezen en in mijn macro invoegen.

dus in mijn macro

Code:
Sub Macro1()
'
' Macro1 Macro
    Range("C [waarde cell A1] :J174").Select
    Selection.Copy
    Range("C [waarde cell A1 + 1]").Select
    ActiveSheet.Paste
    Range("C [waarde cell A1]:J [waarde cell A1]").Select
    Selection.ClearContents
End Sub
 
Laatst bewerkt door een moderator:
O,

Code:
Sub Macro1()
    Range("C18:J18").insert
End Sub

Het antwoord op je tweede vraag staat vast wel in jouw VBA boek voor beginners.
 
@carmvelaat graag de code tussen codetags plaatsen zo wordt het leesbaar voor de helpers. Selecteer de tekst en druk op dit # teken.
 
Blijkbaar vindt TS zijn handboek niet terug dus even een duwtje in de rug.
Code:
Sub Macro1()
    With Sheets("Blad1")
        .Range("C" & .[A1].Value + 1) = .Range("C" & .[A1].Value & ":J174").Value
        .Range("C" & .[A1].Value & ":J" & .[A1].Value).ClearContents
    End With
End Sub
 
Thnx, precies wat ik zocht. Nu ik op "range" google zie ik dat ook. Soms lastig om de juiste zoekterm te weten ;). Je was alleen wel in de derde regel alleen nog een keer ":J174" vergeten.

Code:
Sub Macro1()
    With Sheets("Doc List")
        .Range("C" & .[A1].Value + 1 & ":J174") = .Range("C" & .[A1].Value & ":J174").Value
        .Range("C" & .[A1].Value & ":J" & .[A1].Value).ClearContents
    End With
End Sub
 
Kijk dan maar eens wat jijzelf in Post#3 geschreven hebt.
 
Zoek nooit in Google iets op over VBA.
Gebruik wat al op je computer staat: de hulpbestanden van de VBEditor.
Maar beter nog je VBA-handboek voor beginners.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan