vba校对不同工作薄中的内容

Option Explicit

Sub Find()
Dim myWorkbook As Workbook
Dim ws As Worksheet
Dim rg As Range, rg2 As Range
Dim rgFirst As Range
Dim nLength As Integer, i As Integer
Dim strTmp As String
Dim strFilePath As String '第三方2文件夹中导入xml文件名
Dim nNum As Integer  '销售件数
'nLength = 0
strTmp = ""
On Error GoTo errEx

Set rgFirst = Cells(ActiveCell.Row, ActiveCell.Column)

Do While rgFirst.Value <> ""  '*************循环**********************************

nLength = 0
strTmp = rgFirst.Value

If Right(strTmp, 1) > 9 Then
    MsgBox (strTmp & "的发货单据号有误!")
    Exit Sub
End If

Set ws = ThisWorkbook.Sheets(3)
ws.Columns("A:A").NumberFormatLocal = "yyyy-m-d"
ws.Columns("H:H").NumberFormatLocal = "yyyy-m-d"
Set rg2 = ws.Cells(rgFirst.Row, 1)
rg2 = rgFirst.Offset(0, -1)
rg2.Offset(0, 1) = rgFirst.Offset(0, -4)
rg2.Offset(0, 4) = rgFirst.Offset(0, 7)
'rg2.Offset(0, 7) = rgFirst.Offset(0, 1)
'rg2.Offset(0, 8) = rgFirst.Offset(0, 0)
'rg2.Offset(0, 9) = rgFirst.Offset(0, -2)


'strFilePath = ThisWorkbook.Path & "/四川科伦每天销售发货明细.xls"
nNum = rgFirst.Offset(0, 2)

Set myWorkbook = Workbooks.Item("四川科伦每天销售发货明细.xls")
'Set myWorkbook = ActiveWorkbook

For i = 2 To myWorkbook.Sheets.Count '''''''''''

Set ws = myWorkbook.Worksheets(i)
Set rg = ws.Cells(1, 2)
Do While rg.Row <> ws.UsedRange.Rows.Count + ws.UsedRange.Row - 1 + 1
   If rg.Value = rgFirst.Value Then
        rg2.Offset(0, 7) = rg.Offset(0, -1)
        rg2.Offset(0, 8) = rg.Offset(0, 0)
        rg2.Offset(0, 9) = rg.Offset(0, 2)
        If nNum <> rg.Offset(0, 4).Value Then
            MsgBox strTmp & "的件数" & rg.Offset(0, 4).Value & "不对!可能错误!"
            rg2.EntireRow.Interior.Color = 65535
            rg2.Offset(0, 3) = rg.Offset(0, 4).Value
            rg2.Offset(0, 3).Font.Color = -16776961
            Exit Sub
        Else
            rg2.Offset(0, 3) = nNum
        End If
        Exit For
    End If
    Set rg = rg.Offset(1, 0)
Loop

Next ''''''''''''''''''''''''''

  If rg.Row = ws.UsedRange.Rows.Count + ws.UsedRange.Row Then
    MsgBox strTmp & "销售单不对!可能错误!"
     rg2.EntireRow.Interior.Color = 65535
     Exit Sub
  End If

  Set rgFirst = rgFirst.Offset(1, 0)
  rgFirst.Select
  
Loop          ' *************循环**********************************

  Exit Sub
errEx:
 MsgBox (strTmp & "的执行有错误,请检查!")
End Sub

Sub Macro1()
Application.OnKey "^+g", "Find"
End Sub

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值