我想"压扁"通过ConvertToFormulas
函数的数据透视表,并将结果复制到剪贴板。
我的代码看起来像这样:
ActiveSheet.PivotTables(1).ConvertToFormulas True
Range("A1").Select
ActiveCell.CurrentRegion.Select
Application.CutCopyMode = False
Selection.Copy
我的问题是,当我的#GETTING_DATA
执行时,并非所有单元格都从数据源完全加载(它们显示Selection.Copy
)并且我在剪贴板中留下包含文本的单元格" #GETTING_DATA"
我想找到一种方法,等待所有单元格加载或至少等待10秒,直到(希望)所有单元格都已加载。
我试图添加
Application.Wait(Now + TimeValue("0:00:10"))
或
Sleep(10000)
在Copy
之前,但是接缝会阻塞完成单元格加载的线程,并且在10秒后我得到相同的结果。
答案 0 :(得分:1)
没有构建数据透视表来测试结果,但看看下面的代码是否有帮助。我们的想法是不断循环选定的单元格,直到所有单元格都是整数,然后我们复制它:
Sub test()
Dim pcced As Boolean
pcced = False
ActiveCell.CurrentRegion.Select
Do While pcced = False
pcced = chkv(Selection)
Loop
Application.CutCopyMode = False
Selection.Copy
End Sub
Function chkv(s As Variant) As Boolean
Dim rslt As Boolean
For Each cell In s
If IsNumeric(cell) Then
rslt = True
Else:
rslt = False
Exit For
End If
Next
chkv = rslt
End Function