嗨,我是vba中的新手,所以我写了一个代码来检查条件1是否符合,然后它会转到第二个条件,如果符合它将转到序列#表发布" a&#34 ;在D8中它运行正常,如果我运行1比1,但当我运行宏它会显示没有响应所以任何人帮助我?
条件1是表1行A1 =表2行A1如果是,则第二个条件 如果没有,那么sheet2行转到下一个A2,那么它将再次提出问题 条件2是表1行B1 = sheet2 B1如果是,则转到D8输入a中的序列#sheet。 如果没有,那么sheet2行转到下一个b2那么它将再次提出问题
但我所做的是我将它分成4张。 Sheet1中,sheet2.sheet3.shee4 所以就像: sheet1的值为sheet1的A1 sheet2的值为sheet1的B1 sheet3的值为sheet2的A1 sheet4的值为sheet2的B1
这是从sheet1看起来是键入的数据,而表2是应该具有的总数。 工作表Sheet1 行 A-B 1-1 1-2 1-3 1-4 2-1 2-2 2-3 2-4 3-1 3-2 3-3
Sheet 2中 行 A-B 1-1 1-2 1-3 1-4 1-5 2-1 2-2 2-3 2-4 2-5 3-1 3-2 3-3 3-4 3-5 这是我使用的代码:
Sub comapre()
Application.ScreenUpdating = False
Application.EnableEvents = False
Dim panel1, panel2, arr1, arr2
Sheets("working_files").Select
Range("A1").Select
panel1 = ActiveCell.Value
Sheets("working_files2").Select
Range("A1").Select
arr1 = ActiveCell.Value
Sheets("working_files3").Select
Range("A1").Select
panel2 = ActiveCell.Value
Sheets("working_files4").Select
Range("A1").Select
arr2 = ActiveCell.Value
Sheets("serial#").Select
Range("D8").Select
line1:
For i = i To 3
Sheets("working_files").Select
If IsNumeric(ActiveCell) Then
If panel1 = panel2 Then
If arr1 = arr2 Then
Sheets("serial#").Select
ActiveCell.Value = ("a")
ActiveCell.Offset(1, 0).Select
GoTo line2
Else
Sheets("working_files4").Select
ActiveCell.Offset(1, 0).Select
arr2 = ActiveCell.Value
GoTo line1
End If
Else
Sheets("serial#").Select
ActiveCell.Offset(1, 0).Select
Sheets("working_files3").Select
ActiveCell.Offset(1, 0).Select
panel2 = ActiveCell.Value
GoTo line1
End If
Else
GoTo line3
End If
Next
line2:
Sheets("working_files").Select
ActiveCell.Offset(1, 0).Select
panel1 = ActiveCell.Value
Sheets("working_files2").Select
ActiveCell.Offset(1, 0).Select
arr1 = ActiveCell.Value
Sheets("working_files3").Select
ActiveCell.Offset(1, 0).Select
panel2 = ActiveCell.Value
Sheets("working_files4").Select
ActiveCell.Offset(1, 0).Select
arr2 = ActiveCell.Value
GoTo line1
line3:
Application.ScreenUpdating = True
Application.EnableEvents = True
End Sub