假设我在Excel工作表中使用了一个加载项。我写了一个宏,我从输入表中获取输入并将其粘贴到加载项中,然后我将输出显示在另一张表中,应该进一步显示。
问题是,当我运行宏时,它不会等待后处理由添加完成,只显示之前那些输出单元格中的输出。
我在粘贴输入值后尝试使用等待和睡眠,以便花一些时间进行后处理,但仍然无法正常工作..它提供相同的输出。
如果我在粘贴后添加一个断点有助于运行后台处理但我想在没有断点的情况下运行它,它运行正常
请帮助!
For j = 1 To i ' loop to check if case is selected
Chk = "Chk_Case" & j
If Me.Controls(Chk).Value = True Then
' For h = 1 To j ' if case is selected, inputs will be used to generate output and will be put in datasheet
' to get col no of selected case
Case_Name = Me.Controls(Chk).Caption
Column_number = Application.WorksheetFunction.Match(Case_Name, Sheets("Sheet3").Range("A7:K7"), 0)
' to get column name of selected case
Col_Name = GetColumnName(Column_number)
''input range
FinalRange = Col_Name & "8:" & Col_Name & "29"
''copy input and paste in sheet 1 for output
Sheets("Sheet3").Activate
Sheets("Sheet3").Range(FinalRange).Select
Selection.Copy
Sheets("Sheet1").Activate
Sheets("Sheet1").Range("C6:C27").Select
ActiveSheet.Paste
'Application.Wait (Now + TimeValue("00:00:10"))
Application.CutCopyMode = False
'''pasting output from sheet 24 to datasheet
' Sleep (4000)
Application.CalculateFull
Sheets("Sheet24").Activate
Sheets("Sheet24").Range("B17:G39").Select
'Application.Wait (Now + TimeValue("00:00:10"))
Selection.Copy
' Application.Wait (Now + TimeValue("00:00:08"))
Sheets("Datasheet").Activate
Sheets("Datasheet").Cells(6, 14 + g).PasteSpecial Paste:=xlPasteValues
Sheets("Datasheet").Cells(6, 14 + g).PasteSpecial Paste:=xlPasteFormats
Application.CutCopyMode = False
g = g + 6
'Next h
End If
Next j