automatische Onderbreking in code

Status
Niet open voor verdere reacties.

harolda1980

Gebruiker
Lid geworden
7 aug 2007
Berichten
488
Telkens wanneer ik deze code uitvoer krijg ik een onderbrekingsmodus op de volgende onderdelen.
Terwijl deze code normaal altijd naar behoren werkte. Heeft iemand een idee?

eerste regel waarop hij onderbreekt
Code:
For Each vrtSelectedItem In .SelectedItems
tweede regel waarop hij onderbreekt
Code:
    Set loadbook = Nothing


Complete code:

Code:
Private Sub Regelsinladen_chefkok()
Dim fd As FileDialog
Dim vrtSelectedItem As Variant
Dim loadbook
Dim lv_item

    Set fd = Application.FileDialog(msoFileDialogFilePicker)
    With fd
        If .Show = -1 Then
            'Step through each string in the FileDialogSelectedItems collection.
            For Each vrtSelectedItem In .SelectedItems
                Workbooks.Open vrtSelectedItem
                Set loadbook = Application.ActiveWorkbook
                lv_item = 1
                    With loadbook.Sheets("blad1")
                        Do
                            If .Cells(Regelstart, kolomstart).Value <> "" Then
                                lstview.ListItems.Add , , .Cells(Regelstart, kolomstart).Value
                                lstview.ListItems(lv_item).ListSubItems.Add , , .Cells(Regelstart, kolomstart + 1).Value
                                lstview.ListItems(lv_item).ListSubItems.Add , , .Cells(Regelstart, kolomstart + 3).Value
                            Else
                                Exit Do
                            End If
                            lv_item = lv_item + 1
                            Regelstart = Regelstart + 1
                        Loop
                    End With
                Exit For
            Next vrtSelectedItem
        'The user pressed Cancel.
        Else
        End If
    End With
    Set fd = Nothing
    loadbook.Close False
    Set loadbook = Nothing
    txtregels.Value = lv_item
    opchefkok.Value = False
End Sub
 
Mijn voorkeur:

Code:
With Application.FileDialog(msoFileDialogFilePicker)
    .Show
    For Each it In .SelectedItems
        with getobject(it)
          '    doe wat
          .close true
        end with
    Next
 End With
 
Inderdaad een snelle doelmatige code. alleen bij de For each regel krijg ik nog steeds de volgende foutmelding:
De uitvoering van de programmacode is onderbroken. En ik heb zelf geen onderbrekingen erin staan.


Code:
Private Sub Regelsinladen_chefkok()
Dim fd As FileDialog
Dim vrtSelectedItem As Variant
Dim loadbook
Dim lv_item
Dim IT
    lv_item = 1
    With Application.FileDialog(msoFileDialogFilePicker)
        .Show
        For Each IT In .SelectedItems
            With GetObject(IT)
                            Do
                                If .Sheets("BLAD1").Cells(Regelstart, kolomstart).Value <> "" Then
                                    lstview.ListItems.Add , , .Sheets("BLAD1").Cells(Regelstart, kolomstart).Value
                                    lstview.ListItems(lv_item).ListSubItems.Add , , .Sheets("BLAD1").Cells(Regelstart, kolomstart + 1).Value
                                    lstview.ListItems(lv_item).ListSubItems.Add , , .Sheets("BLAD1").Cells(Regelstart, kolomstart + 3).Value
                                Else
                                    Exit Do
                                End If
                                lv_item = lv_item + 1
                                Regelstart = Regelstart + 1
                            Loop
              .Close True
            End With
        Next
     End With
    txtregels.Value = lv_item
    opchefkok.Value = False
    On Error GoTo 0
End Sub
 
Het lijkt me handig om een of meer bestanden in het scherm te selecteren
 
Laatst bewerkt:
Dat heb ik dus gedaan en dan begint hij bij de for each die foutmelding te geven. Wanneer ik hem handmatig (f8) verder laat gaan werkt hij wel.
 
Hoi Harolda,

Ongelooflijk maar waar:
Wanneer het uitvoeren van vba code soms zomaar 'pauzeert' en een specifieke regel code highlight dan is de oplossing om je computer te rebooten...
 
Ongelofelijk maar waar.. Want de foutmelding is nu weg!
En dat is inderdaad de oplossing!
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan