如何停止跳过VBA代码的行

如何停止跳过VBA代码的行,vba,excel,Vba,Excel,我有一个宏,用于验证数据(“验证”),作为更大宏(“报告”)的一部分。我的问题是,当我运行报表宏时,验证宏的一小部分不会运行;尽管如此,如果我在收到整个报告后单独运行validate宏,它将运行得非常好。粗体的代码块是有问题的部分。真正让我困惑的是,“检查到达表”部分,除了名字外,其他部分都是相同的,工作得非常完美。 我尝试过类似于DoEvents之类的事情,但没有成功。有什么想法吗 谢谢 Sub Check_Ammo_type() ' ' Ensures DATX compatability

我有一个宏,用于验证数据(“验证”),作为更大宏(“报告”)的一部分。我的问题是,当我运行报表宏时,验证宏的一小部分不会运行;尽管如此,如果我在收到整个报告后单独运行validate宏,它将运行得非常好。粗体的代码块是有问题的部分。真正让我困惑的是,“检查到达表”部分,除了名字外,其他部分都是相同的,工作得非常完美。 我尝试过类似于
DoEvents
之类的事情,但没有成功。有什么想法吗

谢谢

Sub Check_Ammo_type()
'
' Ensures DATX compatability
' Checks Departure Sheet
Sheets("Departures").Range("O3").Formula = "=Count(DepDesign)"
Sheets("Departures").Range("O4").Formula = "=Count(DepOptimized)"
Sheets("Departures").Range("P3").Formula = "=IF(DepOptimized[@Dest]=DepDesign[@Dest],""Check"",""Yikes"")"
**With Range("M2").Select
        Selection.End(xlDown).Select
        ActiveCell.Offset(0, 3).Select
        Range(Selection, Selection.End(xlUp)).Select
        Selection.FillDown
        End With
Range("Q3").Formula = "=COUNTIF(P:P,""=Yikes"")"**
If Sheets("Departures").Range("Q3").Value > 0 Then
     MsgBox "Market mismatch. Please ensure that design and optimized DAT files have the same markets."
    End If
If Sheets("Departures").Range("O3").Value <> Sheets("Departures").Range("O4").Value Then
     MsgBox "Frequency mismatch. Please ensure that design and optimized DAT files have same frequencies."
    End If
Columns("O:Q").Hidden = True

' Checks Arrival Sheet
Sheets("Arrivals").Range("O3").Formula = "=Count(ArrDesign)"
Sheets("Arrivals").Range("O4").Formula = "=Count(ArrOptimized)"
Sheets("Arrivals").Range("P3").Formula = "=IF(ArrOptimized[@Orig]=ArrDesign[@Orig],""Check"",""Yikes"")"
        With Range("M2").Select
        Selection.End(xlDown).Select
        ActiveCell.Offset(0, 3).Select
        Range(Selection, Selection.End(xlUp)).Select
        Selection.FillDown
        End With
Range("Q3").Formula = "=COUNTIF(P:P,""=Yikes"")"
If Sheets("Arrivals").Range("Q3").Value > 0 Then
     MsgBox "Market mismatch. Please ensure that design and optimized DAT files have the same markets."
End If
If Sheets("Arrivals").Range("O3").Value <> Sheets("Arrivals").Range("O4").Value Then
     MsgBox "Frequency mismatch. Please ensure that design and optimized DAT files have same frequencies."
End If
Columns("O:Q").Hidden = True

End Sub
子检查弹药类型()
'
'确保DATX兼容性
“检查出发单
表(“偏差”)。范围(“O3”)。公式=“=计数(设计)
表(“偏差”)。范围(“O4”)。公式=“=计数(非优化)”
表(“偏差”).Range(“P3”).Formula=“=IF(非优化[@Dest]=DepDesign[@Dest],”检查“,”Yikes“)”
**使用范围(“M2”)。选择
选择。结束(xlDown)。选择
ActiveCell.Offset(0,3)。选择
范围(选择,选择。结束(xlUp))。选择
选择。填充
以
范围(“Q3”)。公式=“=COUNTIF(P:P,“=Yikes”)”**
如果板材(“偏差”).范围(“Q3”).值>0,则
MsgBox“市场不匹配。请确保设计和优化的DAT文件具有相同的市场。”
如果结束
如果表(“偏差”).范围(“O3”).值表(“偏差”).范围(“O4”).值,则
MsgBox“频率不匹配。请确保设计和优化的DAT文件具有相同的频率。”
如果结束
列(“O:Q”)。隐藏=真
“检查到货单
板材(“到货”)。范围(“O3”)。公式=“=计数(设计)”
表(“到达”).范围(“O4”).公式=“=计数(已优化)”
图纸(“到达”).Range(“P3”).Formula=“=如果(经过优化的[@Orig]=ArrDesign[@Orig],”检查“,”Yikes“)”
使用范围(“M2”)。选择
选择。结束(xlDown)。选择
ActiveCell.Offset(0,3)。选择
范围(选择,选择。结束(xlUp))。选择
选择。填充
以
范围(“Q3”)。公式=“=COUNTIF(P:P,“=Yikes”)”
如果板材(“到货”)范围(“Q3”)值>0,则
MsgBox“市场不匹配。请确保设计和优化的DAT文件具有相同的市场。”
如果结束
如果表(“到达量”).范围(“O3”).值表(“到达量”).范围(“O4”).值,则
MsgBox“频率不匹配。请确保设计和优化的DAT文件具有相同的频率。”
如果结束
列(“O:Q”)。隐藏=真
端接头

是否以粗体显示块?那是哪个chuck?你试过用f8遍历宏吗?从我所看到的,似乎范围(“M2”)填充可能覆盖了第一次迭代。尝试指定工作表M2是什么,例如:带工作表(“离港”).Range(“M2”)。选择第一个工作表(“到达”).Range(“M2”)。选择第二个工作表。有时,如果屏幕更新暂停,屏幕将不会更改为您打算使用的工作表,因此需要进行澄清。^^始终限定
范围
单元格
,除非你知道你想使用
ActiveSheet
@TJYen这是修复程序,否则请等指定它们所指的工作表!试图运行填充过程时,离开表未激活。我总是错过一些小事情,所以多看一双眼睛会有帮助。粗体字的那块?那是哪个chuck?你试过用f8遍历宏吗?从我所看到的,似乎范围(“M2”)填充可能覆盖了第一次迭代。尝试指定工作表M2是什么,例如:带工作表(“离港”).Range(“M2”)。选择第一个工作表(“到达”).Range(“M2”)。选择第二个工作表。有时,如果屏幕更新暂停,屏幕将不会更改为您打算使用的工作表,因此需要进行澄清。^^始终限定
范围
单元格
,除非你知道你想使用
ActiveSheet
@TJYen这是修复程序,否则请等指定它们所指的工作表!试图运行填充过程时,离开表未激活。我总是错过一些小事情,所以多了一双眼睛会有帮助。