简体   繁体   English

如何从一个工作表中复制特定的列并粘贴到第一行中不同范围的另一工作表中?

[英]How to copy specific columns from one sheet and paste in another sheet in a different range at the first row?

I am a newbie to this vba/macro. 我是这个vba /宏的新手。 i need to copy specific columns and paste it in another worksheet. 我需要复制特定的列并将其粘贴到另一个工作表中。 Im using the code that being provided from previous thread. 我正在使用从上一个线程提供的代码。 however, i need the data to be pasted in 1st row. 但是,我需要将数据粘贴到第一行。 currently, the data pasted in 2nd row. 当前,数据粘贴在第二行。 below are the code: 下面是代码:

Sub copypaste()

Dim lastrow As Integer, erow As Integer, sheet1 As Worksheet, sheet2 As 
Worksheet, icol As Long

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




For i = 4 To lastrow
erow = sheet2.Cells(Rows.Count, 2).End(xlUp).Offset(1, 0).Row
sheet2.Cells(erow, 2) = sheet1.Cells(i, 1)
sheet2.Cells(erow, 3) = sheet1.Cells(i, 2)
sheet2.Cells(erow, 7) = sheet1.Cells(i, 3)
sheet2.Cells(erow, 5) = sheet1.Cells(i, 5)
sheet2.Cells(erow, 4) = sheet1.Cells(i, 6)
sheet2.Cells(erow, 8) = sheet1.Cells(i, 11)
sheet2.Cells(erow, 9) = sheet1.Cells(i, 8)
sheet2.Cells(erow, 13).Value = sheet1.Cells(i, 9).Value
Next i

Worksheets("Sheet1").Columns().AutoFit
Cells(1, 1).Activate

End Sub

The header from sheet1 also is not required to be copied over. sheet1的标题也不需要复制。

Thanks. 谢谢。 Link from the previous thread. 从上一个线程链接。 Assistance was given by Tim Wilkinson 蒂姆·威尔金森(Tim Wilkinson)提供了协助

The above issue was solved yesterday by @sktneer. 昨天,@ sktneer解决了上述问题。 The data had successfully pasted in the 1st row. 数据已成功粘贴到第一行。

However, related to the same case, how can i copy the filtered data from sheet1? 但是,与同一情况相关,我如何从工作表1中复制已过滤的数据? I've put in the autofilter code to specify the criteria for the copypaste process but not sure whether i've done it correctly or not. 我已经放入自动过滤器代码来指定复制粘贴过程的条件,但是不确定我是否正确执行了该操作。

Below is the adjusted code: 以下是调整后的代码:

sub copypaste()

Dim lastrow As Integer, erow As Integer, sheet1 As Worksheet, sheet2 As 
Worksheet, lrow As Long

Set sheet1 = Worksheets("Sheet1")
Set sheet2 = Worksheets("Sheet2")

strSearch = "LOCAL"
lastrow = sheet1.Cells(Rows.Count, 1).End(xlUp).Row

With sheet1
AutoFilterMode = False
lrow = sheet1.Range("L" & .Rows.Count).End(xlUp).Row

With .Range("L3:L" & lrow)
        .AutoFilter Field:=1, Criteria1:="=*" & strSearch & "*"


For i = 4 To lastrow

If sheet2.Cells(1, 2) = "" Then
    erow = 1
Else
erow = sheet2.Cells(Rows.Count, 2).End(xlUp).Offset(1, 0).Row

End If
sheet2.Cells(erow, 2) = sheet1.Cells(i, 1)
sheet2.Cells(erow, 3) = sheet1.Cells(i, 2)
sheet2.Cells(erow, 7) = sheet1.Cells(i, 3)
sheet2.Cells(erow, 5) = sheet1.Cells(i, 5)
sheet2.Cells(erow, 4) = sheet1.Cells(i, 6)
sheet2.Cells(erow, 8) = sheet1.Cells(i, 11)
sheet2.Cells(erow, 9) = sheet1.Cells(i, 8)
sheet2.Cells(erow, 13).Value = sheet1.Cells(i, 9).Value
Next

End With


AutoFilterMode = False

End With


Worksheets("Sheet1").Columns().AutoFit
Cells(1, 1).Activate

End Sub

Thanking you guys in advance. 预先谢谢你们。

Maybe this... 也许这个...

For i = 4 To lastrow
    If Sheet2.Cells(1, 2) = "" Then
        erow = 1
    Else
        erow = Sheet2.Cells(Rows.Count, 2).End(xlUp).Offset(1, 0).Row
    End If
    Sheet2.Cells(erow, 2) = Sheet1.Cells(i, 1)
    Sheet2.Cells(erow, 3) = Sheet1.Cells(i, 2)
    Sheet2.Cells(erow, 7) = Sheet1.Cells(i, 3)
    Sheet2.Cells(erow, 5) = Sheet1.Cells(i, 5)
    Sheet2.Cells(erow, 4) = Sheet1.Cells(i, 6)
    Sheet2.Cells(erow, 8) = Sheet1.Cells(i, 11)
    Sheet2.Cells(erow, 9) = Sheet1.Cells(i, 8)
    Sheet2.Cells(erow, 13).Value = Sheet1.Cells(i, 9).Value
Next i

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 如何复制一张纸中的特定列并粘贴到另一张纸中的不同范围? - How to copy specific columns from one sheet and paste in another sheet in a different range? 从工作表复制范围,然后粘贴到不同列的另一工作表中 - Copy range from a sheet and paste into another sheet in different columns Excel 2007 VBA:如何从一张纸上的动态范围复制和粘贴到另一张纸的第一行? - Excel 2007 VBA: How do I copy and paste from a dynamic range on one sheet to the first empty row of another sheet? 将范围从一张纸复制/粘贴到另一张纸 - Copy/Paste Range from one sheet to another 复制将行从一张纸粘贴到另一张纸 - Copy paste a row from one sheet to another 复制列直到一张纸的最后一行,然后粘贴到另一张纸的下一个空行 - Copy columns until last row from one sheet and paste to the next empty row of another sheet 基于自动过滤器将粘贴列从一张工作表复制到另一张工作表 - Copy Paste Columns from one sheet to another sheet based on Autofilter 使用宏从一个工作表中复制多个范围,然后将其粘贴到第一行中的另一工作表中 - Using macro to copy multiple ranges from one sheet, and paste them into another sheet in the first empty row 复制同一行中不同列的单元格,并粘贴到另一个工作表上同一行的不同列 - Copy cells from different columns on same row, and paste to different columns on same row on another sheet 如何使用VBA将范围内的值从一张纸复制到另一张纸上的预定义订单? - How to copy the values in a range from one sheet to and paste it another sheet on a predefied order using VBA?
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM