excel - 在不同的单元格上粘贴不同的值

标签 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)

最佳答案

也许在 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

关于excel - 在不同的单元格上粘贴不同的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54944377/

相关文章:

vba - 复制全局地址列表联系人,包括 "External Contacts"

ruby - 从excel文件解析字符串的问题

VBA通过连接字符串和变量创建变量名?

Excel VBA 西格玛公式

vba - Range SpecialCells ClearContents 改为清除整个工作表

Excel:将每个单词的第一个字符大写

excel - 如何检查当前用户是否已从共享工作簿中删除?

excel - 如何将公式应用于列vba范围中的每个单元格?

vba - 设置十六进制和十进制颜色的行为不同

excel - 如何让 Excel 在关闭时提示保存?