Excel vba:在本地窗口中检查对象后减慢速度

时间:2018-01-07 13:04:16

标签: excel vba excel-vba

我正在尝试在创建新实例时检查对象。使用函数DaySchedule.Create()创建实例。我可以这样做,因为我设置了属性VB_PredeclaredId = True。这是函数的代码:

Public Function Create( _
   ByVal Name As String, _
   ByVal Cycle As Long, _
   ByVal Prio As Long, _
   ByVal startDate As Date, _
   ByVal WeekDays As String) As WeekSchedule
   Dim WeekDays_Arr() As String
   Dim Days As Variant

   me_Monday = False
   me_Tuesday = False
   me_Wednesday = False
   me_Thursday = False
   me_Friday = False
   me_Saturday = False
   me_Sunday = False

   WeekDays_Arr = Split(WeekDays, ";")
   For Each Days In WeekDays_Arr

      Select Case Days
         Case "Mo": me_Monday = True
         Case "Tu": me_Tuesday = True
         Case "We": me_Wednesday = True
         Case "Th": me_Thursday = True
         Case "Fr": me_Friday = True
         Case "Sa": me_Saturday = True
         Case "Su": me_Sunday = True
      End Select
   Next Days

   me_ScheduleType = "weekly"
   me_Name = Name
   me_Cycle = Cycle
   me_Prio = Prio
   me_StartDate = startDate

   Set Create = Me
End Function

问题在于每当我打开本地窗口并尝试展开Me Excel无限加载时。有时它会在20秒左右后起作用,但每行需要20秒。我的CPU负载只有15%,我在Excel工作簿中没有可能计算的其他功能。昨天我做了完全相同的事情,并立即扩大。有没有人有类似的问题或解决方案?

1 个答案:

答案 0 :(得分:0)

我找到了解决方案。问题出现在名为Schedule_NextBackup的属性中。 Get-property没有设置属性但计算了一些东西。我把它改成了一个函数,它不再滞后了。