Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/cmake/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
不复制到列A时,无法将数据从一个Excel工作表复制到另一个Excel工作表_Excel_Vba - Fatal编程技术网

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

不复制到列A时,无法将数据从一个Excel工作表复制到另一个Excel工作表,excel,vba,Excel,Vba,我有以下代码: 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

我有以下代码:

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(最初)从第1页复制到第2页(每次在新行上)。但是,如果我将“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。

设置位置的方法是从列A的底部开始,向上查看第一个非空白单元格,然后向下偏移一行到一个空白单元格。如果采用此位置,但将值填充到从B列开始的行中,则永远不会填充A列中的空单元格,因此对同一例程的后续调用将重新定位到完全相同的位置。如果要使用列B作为目标,则需要根据列B中的第一个空白单元格(而不是列A)定位新的值传输。