[英]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.