Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

VBA: Copy paste without clipboard

Tags:

excel

vba

Is there a way to do this as one line copy/paste without using the clipboard. copy one range - row to another sheet paste range - entire row. I need values, not formula.

 Sheets("Data").Select 
 ActiveCell.EntireRow.Copy

 Sheets("TSP").Select
 ActiveCell.PasteSpecial Paste:=xlPasteValues
like image 350
Merlin Avatar asked Dec 16 '22 20:12

Merlin


2 Answers

This code copy values (not formulas).

Sub a()
  Worksheets("Sheet2").Range("TS").Value=Worksheets("Sheet1").Range("1:1").Value
End Sub  

Where "TS" is the name of a range (one row).

Is this what you are trying to achieve?

Edit

To copy the active row to Sheet2.Row2 (for example) you may try:

Sub a()
 Dim myrow As Integer
 myrow = ActiveWindow.RangeSelection.Row
 Worksheets("Sheet2").Range("2:2").Value = Worksheets("Sheet1").Rows(myrow).Value
End Sub

HTH!

like image 200
Dr. belisarius Avatar answered Dec 30 '22 23:12

Dr. belisarius


For some reason, there isn't. PasteSpecial is all about the clipboard.

If you only need values, make a For loop copying them.

like image 25
GSerg Avatar answered Dec 31 '22 00:12

GSerg