Check alle échte Black Friday-deals Ook zo moe van nepaanbiedingen? Wij laten alleen échte deals zien

[Excel 2007] Copy paste macro

Pagina: 1
Acties:

  • PFlaton
  • Registratie: April 2009
  • Laatst online: 03-07-2024
Beste Tweakers,

Ik heb een range van gegevens die ik via een macro wilt kopieren naar een ander werkblad, en vervolgens de basis gegevens verwijderen.
De macro om de gegevens te verwijderen heb ik eenvoudig ingesteld dmv macro opnemen.

De kopieer macro neem ik ook op, maar ik wil dat de paste in het volgende (lege) deel van mijn tabel komt te staan.

bijv. als in de range van A1:A100 getallen zijn ingevoerd, dan wil ik de paste in A2 (behalve als daar gegevens zijn ingevoerd..) etcetera.

Weet iemand hier raad mee?

Ik hoop dat jullie begrijpen wat ik bedoel, anders post ik een deel van het bestand mee maar die is vrij groot.

mvg

[ Voor 2% gewijzigd door PFlaton op 13-01-2011 09:09 . Reden: zinnetje vergeten ]


  • MAX3400
  • Registratie: Mei 2003
  • Laatst online: 19-11 19:30

MAX3400

XBL: OctagonQontrol

Geen code? Geen hulp ;)

Mijn advertenties!!! | Mijn antwoorden zijn vaak niet snowflake-proof


  • PFlaton
  • Registratie: April 2009
  • Laatst online: 03-07-2024
code:
1
2
3
4
5
6
7
8
9
10
11
12
Sub Macro1tweakers()
'
' Macro1tweakers Macro
' test
'
' Sneltoets: CTRL+j
'
    Range("F41:F44").Select
    Selection.Copy
    Range("G41").Select
    ActiveSheet.Paste
End Sub


Even een simpele macro gemaakt om te laten zien wat ik probeer te doen.


Nu heb ik een hoop werkbladen waarmee ik precies dezelfde handeling wil uitvoeren, dus handmatig kopieren/plakken lijkt me iets te lang duren.
Mijn doel is dus dat de macro zo wordt ingesteld dat hij automatisch detecteert dat er nu cellen staan in "G41", en dus moet pasten in "H41"

[ Voor 47% gewijzigd door PFlaton op 13-01-2011 09:21 ]


  • PFlaton
  • Registratie: April 2009
  • Laatst online: 03-07-2024
# A B C D E
1 1
2 2
3 3
4 4

De gegevens voer ik in onder "#"
Dan wil ik dus de macro gebruiken om de tekst uit # te kopieren (of te knippen, dat maakt niet zoveeluit)
en vervolgens deze tekst eerst in A te pasten, maar als er gegevens staan onder A, dan in B, anders in C, etc.

Excuses voor de evt. onduidelijkheid

[ Voor 38% gewijzigd door PFlaton op 13-01-2011 09:29 ]


  • The_Butler
  • Registratie: April 2001
  • Laatst online: 18:52
Het probleem is me nog niet volledig duidelijk.

Ik begrijp dat je bron gegevens gecopieerd moeten worden en dan verwijderd, maar waar moeten ze naartoe gecopieerd worden?

at your service


  • MAX3400
  • Registratie: Mei 2003
  • Laatst online: 19-11 19:30

MAX3400

XBL: OctagonQontrol

Conditional copy in Google?

Op basis van je eerdere scriptje, heb ik dit

code:
1
2
3
4
5
6
7
8
9
10
11
Sub test()
Range("F41:F44").Select
    Selection.Copy
    Range("G41").Select
    If Range("G41") <> "" Then
        Range("H41").Select
        ActiveSheet.Paste
    Else
        ActiveSheet.Paste
    End If
End Sub

Mag je zelf ombouwen naar meerdere kolommen...

Mijn advertenties!!! | Mijn antwoorden zijn vaak niet snowflake-proof


  • PFlaton
  • Registratie: April 2009
  • Laatst online: 03-07-2024
MAX3400 schreef op donderdag 13 januari 2011 @ 09:30:
Conditional copy in Google?

Op basis van je eerdere scriptje, heb ik dit

code:
1
2
3
4
5
6
7
8
9
10
11
Sub test()
Range("F41:F44").Select
    Selection.Copy
    Range("G41").Select
    If Range("G41") <> "" Then
        Range("H41").Select
        ActiveSheet.Paste
    Else
        ActiveSheet.Paste
    End If
End Sub

Mag je zelf ombouwen naar meerdere kolommen...
Ik ga daar eens mee stoeien, bedankt

@The_Butler,

De brongegevens worden naar de kolom naast de brongegevens gekopiëerd.
Als er data is ingevoerd in deze kolom, dan wil ik de data in de kolom daarnaast hebben.
MIjn programmeer skills zijn echt bijzonder slecht maar ik zie het als het volgende:
Kopieer data uit Kolom #
Bevat Kolom A data?
Ja --> ga door naar kolom B
Nee --> Paste data (en evt verwijder brongegevens, maar kan ook met knippen)
Bevat Kolom B data?
Ja --> ga door naar Kolom C
Nee --> Paste data

etc

  • The_Butler
  • Registratie: April 2001
  • Laatst online: 18:52
tja, 100% duidelijk is het me nogsteeds niet, maar de eerstvolgende lege kolom vind je zo:

code:
1
2
3
4
Counter = 1
Do While Columns(Counter).End(xlDown).Value <> ""
    Counter = Counter + 1
Loop


Als je uit de loop komt weet je welke kolom de eerste lege is en kan je was paste code aanroepen...

at your service


  • PFlaton
  • Registratie: April 2009
  • Laatst online: 03-07-2024
Top,
Ik ga kijken of ik dit kan implemteren in mijn macro

  • Reptile209
  • Registratie: Juni 2001
  • Laatst online: 00:17

Reptile209

- gers -

Of neem eens een macro op waarin je in A1 gaat staan en dan op Ctrl-PijlNaarRechts drukt, en vervolgens alleen PijlNaarRechts. Presto: dan sta je in de eerste lege kolom rechts van A1 en in je macro staat precies hoe je dat in VBA-code doet. Dan hoef je niet met while-loopjes te werken.

Zo scherp als een voetbal!


Verwijderd

Reptile209 schreef op donderdag 13 januari 2011 @ 11:01:
Of neem eens een macro op waarin je in A1 gaat staan en dan op Ctrl-PijlNaarRechts drukt, en vervolgens alleen PijlNaarRechts. Presto: dan sta je in de eerste lege kolom rechts van A1 en in je macro staat precies hoe je dat in VBA-code doet. Dan hoef je niet met while-loopjes te werken.
Dit wilde ik net aan je voorstellen. Zo doe ik dat in ieder geval ook altijd. Vergeet dan niet om relatieve verwijzingen aan te zetten bij het opnemen.

Heb zelf even wat gesleuteld. Zie hieronder voor het resultaat

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Sub Kopieren()
'
' Kopieren Macro
' Kopieren naar de eerstvolgende vrije kolom
'
' Sneltoets: CTRL+SHIFT+K
'
    Range(Selection, Selection.End(xlDown)).Select
    Selection.Cut
    If ActiveCell.Offset(0, 1).Value <> "" Then
    Selection.End(xlToRight).Select
    End If
    ActiveCell.Offset(0, 1).Range("A1").Select
    ActiveSheet.Paste
    Application.CutCopyMode = False
End Sub

[ Voor 30% gewijzigd door Verwijderd op 13-01-2011 12:24 . Reden: Code gefinetuned ]


  • PFlaton
  • Registratie: April 2009
  • Laatst online: 03-07-2024
Wow, ik was bezig met een super omslachtige macro, maar dit lijkt me inderdaad een stuk sneller!
hartstikke bedankt, ik ga weer aan het macro knutselen!

  • PFlaton
  • Registratie: April 2009
  • Laatst online: 03-07-2024
Door middel van de Ctrl PijlNaarRechts , PijlNaarRechts methode heb ik de macro inmiddels succesvol toegepast op mijn sheet.

Hartelijk dank iedereen
Pagina: 1