本帖最后由 fangniuji 于 2014-6-16 19:43 编辑
我每天需要将5S扣分报表输入完成后,按一下“YY”按钮,数据即复制到登记簿里,有时点击两下确认按钮,数据就会 复制两次,从而造成汇总数据出错,怎样在VBA里添加代码,使数据不能重复。谢谢各位了!!
在你的代码上改了一下。 - Sub GG()
- Dim i, r1, r2 As Long
- Dim Flag As Boolean
-
- Sheets("登记簿").Rows.Hidden = False
- Sheets("登记簿").Columns.Hidden = False
- Flag = True
- r1 = Sheets("日数据").[V65536].End(xlUp).Row
- arr = Sheets("日数据").Range("v1:ad" & r1)
- r2 = Sheets("登记簿").[lx65536].End(xlUp).Row
- brr = Sheets("登记簿").Range("LX1:MF" & r2)
- n = UBound(arr) - 2
- s = r2 - n - 2
- If s < 0 Then Flag = False: GoTo aa
- For i = 3 To UBound(arr)
- For j = 1 To UBound(arr, 2)
- If arr(i, j) <> brr(s + i, j) Then Flag = False: GoTo aa
- Next
- Next
- aa:
- If Flag = False Then '如果日数据在登记簿中不存在,复制日数据到登记簿
- Sheets("日数据").Range("v3:ad" & r1).Copy: Sheets("登记簿").Cells(r2 + 1, 336).PasteSpecial xlPasteValues
- For i = r2 To Sheets("登记簿").[lx65536].End(xlUp).Row
- Sheets("登记簿").Cells(i, 335) = i - 2 '自动编号
- Next i
- MsgBox "数据保存结束!"
- Else
- MsgBox "日数据已存在!"
- End If
- Application.CutCopyMode = False
- End Sub
复制代码
|