我有以下代码:
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。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句