繁体   English   中英

不复制到A列时无法将数据从一个Excel工作表复制到另一个工作表

[英]Unable to copy data from one Excel sheet to another when not copying to column A

我有以下代码:

Sub Button26_Click()
Dim s1, s2

    Set s1 = Worksheets("Invoice Generator")
    Set s2 = Worksheets("Past Invoices")

    With s2.Cells(Rows.Count, 1).End(xlUp).Offset(1, 0).EntireRow
        .Cells(, "a").Value = s1.Range("f27").Value
    End With
End Sub

单击该按钮时,将单元格f27(最初)从第一张纸复制到第二张纸上(每次在新行上复制)。 但是,如果我将“ a”更改为任何其他单元格引用,则数据仅被复制一次-后续单击不起作用。

有人有想法么? 谢谢。

您可以通过从A列的底部开始并查找第一个非空白单元格,然后向下偏移一行到空白单元格来设置位置。 如果您采取这个位置,但是将值填充到从B列开始的行中,则永远不会填充A列中的空白单元格,因此对同一例程的后续调用将重新定位到完全相同的位置。 如果要使用B列作为目标,则需要基于B列而不是A列中的第一个空白单元格来定位新的值传输。

Dim targetCOL as long
targetCOL = 2
With s2.Cells(Rows.Count, targetCOL).End(xlUp).Offset(1, 0).EntireRow
    .Cells(, targetCOL).Value = s1.Range("f27").Value
End With

由于必须同时更改定位方法的列和值的目标,因此将字母列引用或数字列索引放入变量是有意义的,以便在那里进行更改将在两个必需的位置都对其进行更改。 在上述建议的修改中,我使用了列的数字索引来设置列B。

暂无
暂无

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

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM