将不同的值粘贴到不同的单元格上

时间:2019-03-01 12:08:38

标签: excel vba

我有一个名为“ x”的主工作表,其他工作表名为“ sheet1”,“ sheet2”,“ sheet3” ...等

在1,2,3 ..页上,数据放置在列中。我想复制单元格B3,B183,B363,B603中的值,然后将数据粘贴到名为“ X”的主表中,但粘贴在不同的单元格上

对于一张纸上的每个数据,我想将值粘贴到主纸“ x”中,完成此步骤后,我想要对纸1,纸2相同...

但是我不想覆盖第一个复制的单元并转到另一个单元

我已经完成了这段代码:

 Sub resizingColumns(ws As Worksheet)

    With ws

ws.Range("B3").Copy Destination:=Worksheets("x").Range("M5")
ws.Range("B183").Copy Destination:=Worksheets("x").Range("N5")
ws.Range("B363").Copy Destination:=Worksheets("x").Range("O5")
ws.Range("B603").Copy Destination:=Worksheets("x").Range("P5")


    End With
End Sub

Private Sub CommandButton2_Click()
    Dim ws As Worksheet
    For Each ws In ActiveWorkbook.Worksheets
        Call resizingColumns(ws)
    Next
End Sub

谢谢

如果我有3张纸,我想将每一行中的数据粘贴到一行/列中 喜欢

       M     N      O      P
5     22    33     44     55   (data from sheet1)
6     11    22     33     33   (data from sheet2)
7     11    22     11     22   (data from sheet3)

2 个答案:

答案 0 :(得分:2)

也许在M列中找到第一行空白行,而不是硬编码5。

Sub resizingColumns(ws As Worksheet)

Dim r As Long

r = Worksheets("x").Range("M" & Rows.Count).End(xlUp).Row + 1

With ws
    .Range("B3").Copy Destination:=Worksheets("x").Range("M" & r)
    .Range("B183").Copy Destination:=Worksheets("x").Range("N" & r)
    .Range("B363").Copy Destination:=Worksheets("x").Range("O" & r)
    .Range("B603").Copy Destination:=Worksheets("x").Range("P" & r)
End With

End Sub

通话代码

Private Sub CommandButton2_Click()
    Dim ws As Worksheet
    For Each ws In ActiveWorkbook.Worksheets
        If ws.Name <> "x" Then resizingColumns ws
    Next
End Sub

答案 1 :(得分:0)

好的,此代码可以正常工作:)

classpath

通话代码

* def res = call read('classpath:Folder1/Test.feature')