Każdy pomysł, dlaczego wstawianie punktów przerwania i zatrzymywanie nie zatrzymuje już mojego kodu vba przed uruchomieniem?Punkty przerwania i zatrzymania programu Excel Excel nie działają
Kod działa ok, aż do końca (ja testowałem to), ale ignoruje złamać punkty i Stop.
kroku również na właśnie sprawia, że bieg kodu w jego całości, ignorując punktów przerwę i zatrzymuje się.
Kiedy zamykam skoroszyt gdzie kwestia wydaje się pochodzić z tego samego problemu występuje w innych skoroszytach makr.
gdybym całkowicie zamknąć program Excel i otworzyć ją ponownie z normalnie pracujących makro skoroszycie problem nie występuje aż ponownie otwarta książka praca problem.
Dodałam punkty przerwania na:
TotP1 = 0
z następującego kodu:
Option Explicit
Private Country As String
Private Measure As String
Private P1 As String
Private P2 As String
Private TotP1 As Double
Private TotP2 As Double
Sub VennDisplayIt()
Dim SI() As String
Dim SICount As Integer
Dim x As Integer
Dim OSh As Worksheet
Dim BrandListBox As Object
Dim VennGroup As Shape
TotP1 = 0
TotP2 = 0
Set OSh = ThisWorkbook.Sheets("Venn")
Set BrandListBox = OSh.OLEObjects("BrandListBox").Object
ReDim SI(2, 0)
For x = 0 To BrandListBox.ListCount - 1
If BrandListBox.Selected(x) = True Then
'If UBound(SI) < 4 Then
ReDim Preserve SI(2, UBound(SI, 2) + 1)
SI(1, UBound(SI, 2)) = BrandListBox.List(x)
SI(2, UBound(SI, 2)) = x + 1
'End If
End If
Next x
If UBound(SI, 2) < 2 Then
BrandListBox.Selected(BrandListBox.ListIndex) = True
Exit Sub
ElseIf UBound(SI, 2) > 4 Then
BrandListBox.Selected(BrandListBox.ListIndex) = False
Exit Sub
End If
For x = 1 To UBound(SI, 2)
OSh.Range("o8").Offset(x, 0).Value = SI(1, x)
OSh.Range("o8").Offset(x + 5, 0).Value = SI(1, x)
Next x
For x = UBound(SI, 2) + 1 To 4
OSh.Range("o8").Offset(x, 0).Value = ""
OSh.Range("o8").Offset(x + 5, 0).Value = ""
Next x
SICount = UBound(SI, 2)
For x = 1 To OSh.Shapes.Count
If Right(OSh.Shapes(x).Name, 5) = "Group" Then
If LCase(OSh.Shapes(x).Name) = SICount & "waygroup" Then
Set VennGroup = OSh.Shapes(x)
OSh.Shapes(x).Visible = True
Else
OSh.Shapes(x).Visible = False
End If
End If
Next x
For x = 1 To SICount
VennGroup.GroupItems.Item(SICount & "WayBrand" & x).DrawingObject.Text = SI(1, x)
Next x
Country = ThisWorkbook.Sheets("Venn").Range("D4").Value
Measure = ThisWorkbook.Sheets("Venn").Range("E32").Value
P2 = ThisWorkbook.Sheets("Venn").Range("E31").Value
P1 = ThisWorkbook.Sheets("Selections").Range("B5").Value
End Sub
Czy możesz pokazać kod i miejsce, w którym są umieszczone punkty przerwania? –
Właśnie dodałem kod. –
Uruchomiłem twój kod z punktem przerwania na 'TotP1 = 0' i złamał się tam dokładnie tak, jak powinien. Zgaduję więc, że w skoroszycie rzeczywiście coś jest uszkodzone. –