【问题标题】:vba excel 2010 copy data to another empty column sheetvba excel 2010 将数据复制到另一个空列表
【发布时间】:2014-01-29 16:23:15
【问题描述】:

每个人都可以帮助我吗?数据始终是 A 列,工作表 1,我想复制并粘贴到工作表 2 上的空列。第一次数据进入 A 列第 2 列,第二次(我放在 sheet1 列 A 上的其他数据)到 B 列第 2 列,依此类推。我找到了这段代码,但只将数据放在 A 列 Sheet2 中。

    Sub Insert_Data()

Sheets("Tratamento").Range("A1").Copy Destination:=Sheets("Dados").Range("A1")
For i = 2 To Sheets("Tratamento").Cells(Rows.Count, 1).End(xlUp).Row
Sheets("Tratamento").Range("A" & i).Copy Destination:=Sheets("Dados").Range("A" & Sheets("Dados").Cells(Rows.Count, 1).End(xlUp).Row + 1)
Next i

End Sub

【问题讨论】:

    标签: vba excel


    【解决方案1】:

    以下命令应该可以完成这项工作:

    Select Case Sheets("Dados").Range("A1") = "" 
    
    Case True 'paste in col A if A1 is empty
    
        Sheets("Tratamento").Range("A:A").Copy Sheets("Dados").Range("A1") 
    
    Case False ' paste to next col
    
        Sheets("Tratamento").Range("A:A").Copy Sheets("Dados").Range("XFD1").End(xlToLeft).Offset(0, 1) 
    

    这样做是从第二张工作表的末尾开始,并选择最后一列右侧的列,其中包含一个值。这是假设您不会跳过任何列并且页面上没有其他数据。

    【讨论】:

    • 正是我想要的。非常感谢。
    【解决方案2】:

    就这个怎么样?

    Sub Insert_Data()
    
    Sheets("Tratamento").Range("A1").Copy Destination:=Sheets("Dados").Range("A1")
    For I = 2 To Sheets("Tratamento").Cells(Rows.Count, 1).End(xlUp).Row
    
    '  Made change on this line
    Sheets("Tratamento").Range("A" & I).Copy Destination:=Sheets("Dados").Range("A" & I)
    
    Next I
    
    End Sub
    

    或者这太简单了?可能我没听懂你的问题?

    【讨论】:

    • 嗨,它不起作用。尝试解释:如果工作表 2 上的 A 列已经有数据,则复制到 B 列,如果 A 列和 B 列有数据,则复制到 C 列。我不知道如何验证 A、B、C 列是否为空接收值。
    猜你喜欢
    • 1970-01-01
    • 2018-02-08
    • 2016-11-19
    • 2018-06-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多