Vba 复制区域和粘贴区域不为';同样大小的错误不是吗?
我希望VBA在Sheet1中找到名为“Apple”(第a1行)的单元格标题,并将该数据粘贴到Sheet2中名为“Orange”的单元格标题中Vba 复制区域和粘贴区域不为';同样大小的错误不是吗?,vba,excel,excel-2010,Vba,Excel,Excel 2010,我希望VBA在Sheet1中找到名为“Apple”(第a1行)的单元格标题,并将该数据粘贴到Sheet2中名为“Orange”的单元格标题中 Sheet1 Sheet2 Apple Orange 1 2 3 4 我试图不包括单元头,所以它只抓取号码 你想做点什么吗 Sheet1.Rows("1:1").Find(What:="Apple", After:=ActiveCell, LookIn:=xlFormulas, _ LookAt:=xlWhole, S
Sheet1 Sheet2
Apple Orange
1
2
3
4
我试图不包括单元头,所以它只抓取号码
你想做点什么吗
Sheet1.Rows("1:1").Find(What:="Apple", After:=ActiveCell, LookIn:=xlFormulas, _
LookAt:=xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
MatchCase:=False, SearchFormat:=False).Activate
Selection.EntireColumn row-1.Copy sheet2.range("a2")
类似于entireclumn row-1
这样它就不会复制头单元格…不知道我在做什么,但是帮助会很棒!使用此命令:
c=ActiveCell.Column
您将c
设置为当前活动单元格的整列。接下来,当您使用s1.Columns(c)时,复制s2.Range(“a2”)
您正在复制存储在c
中的整个列,然后尝试将其粘贴到指定列范围(a2
)的第二个单元格中。这会导致该列的单元格总是比复制到剪贴板的单元格少一个。很抱歉更正,但唯一负责的位是s1。列(c).c=ActiveCell.Column没有任何影响。c=1也会有完全相同的影响。是的,但这正是我感觉到误解发生的地方。我读这篇文章时,他们假设只会在他们选择的地方复制列,但随后他们在复制/粘贴命令中传递了整个列的引用更新我的答案,使之更清楚。很好。我看到了另一种情况:我的印象是OP想要复制上面“Find”的范围。更具体地说,他想要复制这个范围的一列(大概是由不同的列组成)。他很可能对列(c)的确切定义有误解也是。他认为只要执行Find s1。列(c)就可以计算输出范围,而不是整个电子表格。@pnuts这是一个聪明的方法。当然,假设a1
中没有重要数据。在得到答案后,您无法完全更改问题(顺便说一句,在我看来,你的新问题已经解决了)。我现在将删除我的答案(因为不喜欢你的态度)。@pnuts他是否选择了一个建议写“;”在VBA行的末尾?!(并说它不起作用;让另一个回答者提供一个有效的答案?)哇!现在我明白了很多,谢谢:)