Excel: Copy tot laatste rij

Pagina: 1
Acties:

Onderwerpen

Vraag


Acties:
  • 0 Henk 'm!

  • PeterKegels
  • Registratie: Februari 2021
  • Laatst online: 23-05-2022
Ik moet gegevens in hetzelfde werkblad copieren

Range("Q10:BB10") moeten formules gecopieerd geraken vanaf Q11 tot Einde.
Einde van de range is einde van colom a.

Deze formule gebruik ik maar blijkt niet te werken

Range("Q10:BB10").Select
Selection.Copy

Dim AC As Integer
Dim Lastr As Long

AC = ActiveCell.Column
Lastr = Sheets("WERKCENTER").Cells(Rows.Count, 1).End(xlUp).Row
Range(Cells(ActiveCell.Row, AC), Cells(Lastr, AC)).Select
Selection.PasteSpecial Paste:=xlPasteFormulas, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
Application.CutCopyMode = False

Iemand die mij kan helpen?

Alle reacties


Acties:
  • 0 Henk 'm!

  • Atanamir
  • Registratie: December 2014
  • Laatst online: 29-09 16:11
Wat werkt er precies niet? Krijg je een foutmelding bij het uitvoeren, of komt er gewoon niets uit?
Vaak kun je door de code stap voor stap uit te voeren in het developer scherm met F8 wel uitvogelen waar het fout gaat.

Als ik even naar je code kijk:
1. Je selecteert Q10 - BB10 aan het begin. Als je hierna ActiveCell oid gebruikt, zal deze dus naar Q10 verwijzen. (werkt hier overigens prima, dus op zich geen issue)

2. Bij deze selectie verwijs je niet specifiek naar een werkblad. Dus als je de code start terwijl je een ander werkblad geselecteerd hebt gaat het mis.

3. Je Lastr variabele checkt kolomA voor de laatste rij. Maar je schrijft dat dit ook het einde van de range is, dus dat zal wel kloppen dan.

4. Als laatste is de naam van het werkblad in je Lastr variabele natuurlijk hardcoded. Dus als deze wijzigt doet je code het niet meer...

Acties:
  • 0 Henk 'm!

  • dix-neuf
  • Registratie: Juli 2018
  • Niet online
@PeterKegels,
Welke foutmelding krijg je? Op mijn computer werkt je macro wel.
Bedenk wel dat, als je B10:Q10 geselecteerd hebt, de cel B10 de activecell is en B10:Q10 de actieve range.
En verder: om met vba een range te kopiëren, is het niet nodig om die range eerst te selecteren.
Kijk ook eens naar de opdracht 'FillDown', daarmee kun je, na bepalen van 'Lastr', je macro tot 1 regel beperken.

[ Voor 6% gewijzigd door dix-neuf op 27-06-2021 12:18 ]