引用另一个

时间:2015-10-21 19:39:43

标签: excel vba excel-vba if-statement reference

我有代码,我分成了几个按顺序运行的部分。我从一个消息框开始,询问“你输入8月的数据”。如果答案为“是”,它会运行一系列代码,但现在我的代码太长了,我无法继续使用8月份的那一系列代码。我正在努力使代码无缝变化。当新代码开始时,我可以再次询问“您输入数据的月份”,但如果可能的话,我不想这样做。理想情况下,我希望我的新代码的第一行是“如果您对代码一中的初始问题回答”是“,那么继续”。

这是我调用所有代码的地方:

Sub PreScrub()
Call Tabs
Call AUGSUMMCEND
Call AugNUR
End Sub

第一个代码只是格式化,所以我会跳过它。这是我第二个代码的开头,我提示这个月:

Augbox = MsgBox("Are you entering Prescrub for August?", vbYesNo + vbQuestion)
If Augbox = vbYes Then

For i = 1 To recvarSumm.Rows.Count
    For j = 1 To recvarSumm.Rows.Count
If recvarSumm.Cells(i, j).Value = "Aetna" Then
    recvarSummvalues.Cells(i, j).Range("A1:C1").Copy
    wsYTDSUMM.Columns(1).Find("Aetna").Offset(9, 1).PasteSpecial
End If
    Next j
Next i

代码从那里进行了很长时间。然后我希望我的AugNur代码的开头说“如果来自AUGSUMMCEND的Augbox是'是'则继续”。

这可能吗?

1 个答案:

答案 0 :(得分:1)

在代码模块的顶部,在第一个过程之前,输入以下行:

Augbox

现在确保不要在程序中使用任何Dim语句再次定义Augbox

就是这样。

throws的值现在将在模块的所有过程之间共享。