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

makro: sel. rijnummer, kopieer cellen, sel. rijnummer, plak

Status
Niet open voor verdere reacties.

nonono

Gebruiker
Lid geworden
28 jan 2009
Berichten
289
Ik probeer een makro te maken, die het volgende zou moeten doen:

- InputBox
- selecteer rijnummer (row#)
- selecteer eerste 5 cellen (A#:E#)
- kopieer
- InputBox
- selecteer rijnummer (row##)
- ga naar cel A##
- plak

Als in deze stappen in “Recording macro” uitvoer, dan vind ik rijnummer niet terug.
Hoe moet e.e.a er in visual basic uitzien?
Bedankt!
 
nonono,

Zet deze code in een Module en verbind een knop op het werkblad hier mee.
Kijk of dit de bedoeling is.
Code:
Sub Copy_Plak()
 R = InputBox("Welke regel kopieren?")
  Rows(R).Columns("A:E").Copy [A6000]
 RP = InputBox("In welke regel plakken?")
  [A6000:E6000].Copy
  Rows(RP).PasteSpecial Paste:=xlPasteValues
Application.CutCopyMode = False
 [A1].Select
End Sub
Hij kopieert het eerst naar A6000.
Anders is hij het gekopieerde bij de vraag waar te plaatsen al kwijt.
 
Laatst bewerkt:
Dit kan eenvoudiger
Code:
Sub tst()
    sq = Range("A" & InputBox("Welke regel kopieren?")).Resize(, 5)
    Range("A" & InputBox("In welke regel plakken?")).Resize(, 5) = sq
End Sub
 
Warme bakkertje,

Het is zeker een stuk eenvoudiger en werkt uitstekend.:thumb:
 
Laatst bewerkt:
Dank Rudi. Dit ziet er inderdaad heel eenvoudig uit.
Vervolgens heb ik geprobeerd om de regel “plakken” te vervangen door “Selection.Copy”.
Het idee is, dat ik na het selecteren van de regel vervolgens de selectie in een ander werkblad of document kan plakken.
Met “Selection.Copy” krijg ik echter de inhoud van de macro te zien.
Wat is de juiste syntax?
Bedankt!
 
nonono,

Eerste vraag is;
- InputBox
- selecteer rijnummer (row#)
- selecteer eerste 5 cellen (A#:E#)
- kopieer
- InputBox
- selecteer rijnummer (row##)
- ga naar cel A##
- plak

Nu kom je met een heel andere vraag;
Het idee is, dat ik na het selecteren van de regel vervolgens de selectie in een ander werkblad of document kan plakken.

Had je dit niet gelijk kunnen vragen?
 
nonono,

Nu schrijft hij de gekopieerde regel in Blad2 op de regel die je ingeef.

Code:
sq = Range("A" & InputBox("Welke regel kopieren?")).Resize(, 5)
Blad2.Range("A" & InputBox("In welke regel plakken?")).Resize(, 5) = sq
 
Laatst bewerkt:
Dus niet. Run-time error ‘424’: Object required.
Mijn vraag was: om niet de macro te laten kiezen waar de selectie geplakt moet worden.
Als ik normaal in een werkblad een range kies, dan kan ik vervolgens eerst naar een ander werkblad of document gaan en dan plakken. De range wordt dus eerst op het clipboard geplaatst.
Ik wil dus dat de macro stopt na het kiezen van de te kopiëren range en vervolgens kies ik zelf waar te plakken.
Bedankt.
 
nonono ,

Jouw blad heet waarschijnlijk Sheet (dit kun je zien in de VBA editor)
 
nonono ,

Nu staat het op het clipboard.

Code:
sq = Range("A" & InputBox("Welke regel kopieren?")).Resize(, 5).Copy
 
Klopt. Sorry!
Maar de vraag blijft hetzelfde. Niet de macro het plakken laten bepalen.
De macro stopt na het selecteren van de range en vervolgens kies ik zelf waar te plakken.
Bedankt!
 
Code:
Sub tst()
  sq = Range("A" & InputBox("Welke regel kopieren?")).Resize(, 5).copy   
End Sub
 
Laatst bewerkt:
Graag gedaan.

Vergeet niet om de vraag als opgelost te zetten, dank u.:thumb:
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan