【问题标题】:How to copy specific columns from one sheet and paste in another sheet in a different range?如何从一个工作表中复制特定列并粘贴到另一个工作表中的不同范围内?
【发布时间】:2016-05-11 14:36:40
【问题描述】:

我是初学者,下面有这段代码,但这只是从工作表中复制最后一行并粘贴到工作表 2 范围内。基本上空行没有得到更新。并且还会抛出运行时错误 1004 - 应用程序定义或对象定义错误。任何帮助将不胜感激。

Sub copypaste()
Dim lastrow As Long, erow As Long

lastrow = ThisWorkbook.Worksheets("sheet1").Cells(Rows.Count, 1).End(xlUp).Row
For i = 2 To lastrow

Sheet1.Cells(i, 3).Copy
erow = ThisWorkbook.Worksheets("sheet2").Cells(Rows.Count, 1).End(xlUp).Offset(1, 0).Row
Sheet1.Paste Destination:=Worksheets("Sheet2").Cells(erow, 2)
Sheet1.Cells(i, 14).Copy
Sheet1.Paste Destination:=Worksheets("Sheet2").Cells(erow, 4)
Sheet1.Cells(i, 6).Copy
Sheet1.Paste Destination:=Worksheets("Sheet2").Cells(erow, 3)

Next i

Application.CutCopyMode = False
ThisWorkbook.Worksheets("sheet2").Columns().AutoFit
Range("A1").Select

End Sub

假设这是第 1 页 sheet 1

这是 sheet2: sheet2:

标题在命名上略有不同,并且位置也发生了变化。并且表 1 中的最后一行是不同的。

【问题讨论】:

  • 你已经解释了代码的作用,你能解释一下你想让它做什么。期望结果的示例也会有所帮助。
  • @tim:我想要的是从工作表 1 复制第 3 列粘贴到工作表 2 的第 2 列,从工作表 1 复制第 14 列并粘贴到工作表 2 的第 4 列..等等。我想在不复制两张表的标题的情况下做同样的事情。最后,当我运行宏时,我希望将数据从表 1 复制到表 2,不带标题并位于不同的区域。希望这会有所帮助
  • @TimWilkinson 我已经编辑了问题并添加了详细信息

标签: vba excel basic


【解决方案1】:

试试这个,总是最好避免复制和粘贴。

Sub copypaste()
Dim lastrow As Integer, erow As Integer, sheet1 As Worksheet, sheet2 As Worksheet

Set sheet1 = Worksheets("Sheet1")
Set sheet2 = Worksheets("Sheet2")
lastrow = sheet1.Cells(Rows.Count, 1).End(xlUp).Row

For i = 2 To lastrow
    erow = sheet2.Cells(Rows.Count, 2).End(xlUp).Offset(1, 0).Row
    sheet2.Cells(erow, 2) = sheet1.Cells(i, 3)
    sheet2.Cells(erow, 3) = sheet1.Cells(i, 6)
    sheet2.Cells(erow, 4) = sheet1.Cells(i, 14)
Next i

'ThisWorkbook.Worksheets("Sheet2").Columns().AutoFit
'sheet1.Cells(1, 1).Activate
End Sub

【讨论】:

  • 这仍然给我运行时错误 1004 - 应用程序定义或对象定义错误..
  • 出于好奇,我刚刚注释掉了最后两行,您可以尝试使用新代码,看看它是否仍然发生?
  • 它的工作.. :) 非常感谢.. 但我很想知道如何。
  • 我注意到在我的最后一个“Range("A1").Select" 上发生了几次,老实说我不知道​​!如果此答案有效,请不要忘记标记为已接受。
猜你喜欢
  • 1970-01-01
  • 2020-04-09
  • 1970-01-01
  • 1970-01-01
  • 2021-11-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多