尝试为Till Check做一个工作表,手动输入所有数据,然后将该数据复制到另一张表以供将来参考,现在我已经完成了这一点(在yonks中以excel编码)然而,一个小问题是它多次复制该数据,因此每行只有1个条目,而是输入数据的5行。
单行应该有5个不同的条目,日期,现金销售,Eftpos销售,总计,检查。
Sub Button2_Click()
Dim rng As Range
Dim i As Long
Dim a As Long
Dim rng_dest As Range
Application.ScreenUpdating = False
i = 1
Set rng_dest = Sheets("Till Reports").Range("A:D")
' Find first empty row in columns D:G on sheet Invoice data
Do Until WorksheetFunction.CountA(rng_dest.Rows(i)) = 0
i = i + 1
Loop
Set rng = Sheets("Till Checks").Range("E21:F26")
' Copy rows containing values to sheet Till Checks
For a = 1 To rng.Rows.Count
If WorksheetFunction.CountA(rng.Rows(a)) <> 0 Then
rng_dest.Rows(i).Value = rng.Rows(a).Value
Sheets("Till Reports").Range("D" & i).Value = Sheets("Till Checks").Range("F24").Value
Sheets("Till Reports").Range("A" & i).Value = Sheets("Till Checks").Range("E21").Value
Sheets("Till Reports").Range("B" & i).Value = Sheets("Till Checks").Range("F22").Value
Sheets("Till Reports").Range("C" & i).Value = Sheets("Till Checks").Range("F23").Value
Sheets("Till Reports").Range("E" & i).Value = Sheets("Till Checks").Range("F25").Value
i = i + 1
End If
答案 0 :(得分:0)
这是你的For a = 1 To rng.Rows.Count
。删除它,它应该做一次。