VBA-将可变范围从一张纸复制到另一张纸 [英] VBA - Copy variable range from one sheet to another

查看:68
本文介绍了VBA-将可变范围从一张纸复制到另一张纸的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想从第二行到最后一行的C列"Inv_Headers"表中的数据复制到第四行的U列"Customers"表中的数据.

I would like to copy data from a sheet "Inv_Headers", Column C, from 2nd row until the last row to a sheet "Customers", Column U, from 4th row.

Private Sub Invoice_C()
    Dim ws As Worksheet, ws1 As Worksheet
    Dim lastrow As Long

    Set ws = Worksheets("Inv_Headers")
    Set ws2 = Worksheets("CUSTOMERS")


        lastrow = ws.Cells(Rows.Count, 3).End(xlUp).Row ' last row in column C
        ws.Range("C2:C" & lastrow).Copy
        ws1.Range("U4").PasteSpecial xlPasteValues
        ws1.Activate


End Sub

我的代码给我错误消息味精'91'-对象变量或未设置块变量.但是代码也可以在没有With语句的情况下工作,不是吗?

My code is giving me error msg '91' - Object variable or With block variable not set. But the code should work without With statement as well, shouldn't it?

请问您的建议吗?

非常感谢!

推荐答案

除了Srpic提供的产品外,我还记得没有让这部分工作: ws.Range("C2:C"& lastrow).复制

In addition to Srpic's offering, I can remember not getting this part to work: ws.Range("C2:C" & lastrow).Copy

您可以使用 ws.Range("C2","C"& lastrow)进行修复.复制

如果您开始在Range()中键入内容,则会看到是可接受的分隔符,而对于不完整的范围分配,则不是:.

If you start typing in Range() you will see that , is an acceptable separator, whereas : for an incomplete range assingment is not.

Private Sub Invoice_C()
Dim ws As Worksheet, ws1 As Worksheet
Dim lastrow As Long

Set ws = Worksheets("Inv_Headers")
Set ws1 = Worksheets("CUSTOMERS")


    lastrow = ws.Cells(Rows.Count, 3).End(xlUp).Row ' last row in column C
    ws.Range("C2", "C" & lastrow).Copy
    ws1.Range("U4").PasteSpecial xlPasteValues
    ws1.Activate

结束子

这篇关于VBA-将可变范围从一张纸复制到另一张纸的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆