VBA Code- Copy & Paste in Blank Range

Y

Youlan

Hi,

I'm using Excel 2002

I'm trying to write a code to copy and paste special a range of data in the
next empty cell. Therefore if cell j5 has data it would start pasting it in
only k5 and so on. This is what I have so far but its pasting in all the
columns where row 5 is blank:

If Range("j5").Value = " " Then

End If

ActiveWindow.SmallScroll ToRight:=-1
Range("D5:D93").Select
Selection.copy
ActiveWindow.SmallScroll Down:=-123
ActiveWindow.SmallScroll ToRight:=15
ActiveWindow.SmallScroll Down:=-15
Range("j5").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone,
SkipBlanks _
:=False, Transpose:=False

End If

Else

I would greatly appreciate any help with this. Thanks in advance.
 
D

Don Guillett

sub copytonextcol()
mr=5 'row
lastcol=cells(mr,columns.count).end(xltoleft).column+1
Range("D5:D93").copy
cells(mr,lastcol).PasteSpecial Paste:=xlPasteValues
end sub
 
Y

Youlan

Don Guillett said:
sub copytonextcol()
mr=5 'row
lastcol=cells(mr,columns.count).end(xltoleft).column+1
Range("D5:D93").copy
cells(mr,lastcol).PasteSpecial Paste:=xlPasteValues
end sub
--
Don Guillett
Microsoft MVP Excel
SalesAid Software
(e-mail address removed)
 
Y

Youlan

Hi Don,

I don't know why you wern't able to see what I wrote before.

Thanks for your help but I am still having a little problem because when I
run the macro I get the following compile error:

"Expected End Sub"

Can you help please?
 
D

Don Guillett

Did you copy all lines?

sub copytonextcol()
mr=5 'row
lastcol=cells(mr,columns.count).end(xltoleft).column+1
Range("D5:D93").copy
cells(mr,lastcol).PasteSpecial Paste:=xlPasteValues
'line below added
Application.CutCopyMode = False
end sub
 
Y

Youlan

Thanks Don,

It works but not with a commandbutton ( I was doing it with a command button
before maybe thats why it wasn't working before)

Also I wanted it to start pasting in the next blank column (starting at row
5) not the last column and not the entire column. Also this process is to be
repeated everytime the macro is evoked. Can this be done?

I hope I'm not giving you too much trouble. Thanks again.
 
D

Don Guillett

So I don't have to re-create, send a workbook along with what you want. Most
never use command buttons. I usually asign to a shape. Did one for a client
the other day assigned to his logo.
 
Y

Youlan

Hi Don,

Yeah, I realize command buttons can be a little finicky. I'll just use a
graphic.

I'm going to send the workbook to the e-mail address. I've typed what I want
to do in the comments in D4.

Thanks again
 
D

Don Guillett

Sent him this.

Sub CopyToNextAvailCol()
mr = 5
mc = "d"
lc = Cells(mr, mc).End(xlToRight).Column + 1
Range(Cells(mr, "f"), Cells(93, "f")).Value = _
Range(Cells(mr, lc - 1), Cells(93, lc - 1)).Value
Range(Cells(mr, lc), Cells(93, lc)).Value = _
Range(Cells(mr, mc), Cells(93, mc)).Value
End Sub
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top