• Privacywetgeving
    Het is bij Helpmij.nl niet toegestaan om persoonsgegevens in een voorbeeld te plaatsen. Alle voorbeelden die persoonsgegevens bevatten zullen zonder opgaaf van reden verwijderd worden. In de vraag zal specifiek vermeld moeten worden dat het om fictieve namen gaat.

VBA script blijft hangen bij openen 2de werkboek

Status
Niet open voor verdere reacties.

gonzo31

Gebruiker
Lid geworden
11 jan 2007
Berichten
143
Avond allemaal,

Gezocht met de zoekfunctie, maar toch het antwoord nog niet kunnen vinden :(

Ik wil wat gegevens uit een 2de werkboek naar het eerste werkboek verhuizen.
Nu blijft het script hangen nadat ik het 2de werkboek heb laten openen. Ik denk dat ik het ergens moet zoeken in ThisWorkbook en ActiveWorkbook omdat de macro volgens mij uit het actieve werkboek gedraaid wordt. Maar ik kom er even niet meer uit. Iemand die me kan helpen?

Code:
Private Sub file()
'
' Hiermee halen we de file naam op en selecteren de gegevens om
' deze te importeren in de 'Invoer' sheet
'
    Application.EnableEvents = False
    Application.ScreenUpdating = False
    Application.DisplayAlerts = False
    Application.Calculation = xlManual
    
    Dim path As String
    Dim sBook As Object
    Dim tBook As Object
    
    Set tBook = ThisWorkbook
    Sheets("Data").Select
    path = Cells(24, 23).Value
    
    Workbooks.OpenText Filename:=path, _
    DataType:=xlDelimited, Semicolon:=True, Local:=True
    
    Set sBook = ActiveWorkbook
    
    Cells.Copy
    
    sBook.Close (False)
    
    Sheets("Invoer").Select
    Range("A1").PasteSpecial
    
    Application.EnableEvents = True
    Application.ScreenUpdating = True
    Application.DisplayAlerts = True
    Application.Calculation = xlAutomatic
    
End Sub

Alvast bedankt!
 
Hi,

Verander even het volgende bovenaan in de code :

Code:
Application.DisplayAlerts = False
in
Code:
Application.DisplayAlerts = True

dan ga je weten wat de melding is waarom hij blijft "hangen".

Dan kunnen we verder zoeken.

Joske
 
volgens mij overleeft "copy" het sluiten van het workbook niet. eerst plakken , dan sluiten denk ik
 
Code:
Application.DisplayAlerts = False
Toegepast!

De enige melding die ik krijg is de vraag of ik 'de grote hoeveelheid data op het klembord wil bewaren'.
De Macro stopt nu bij die vraag met de 'kopieer stippellijn' (die lijn rondom de date) nog actief, waar die eerst stopte zonder de kopieer stippellijn actief.

Het kan zijn dat de copy de close-functie niet overleeft maar dat geeft nog niet aan waarom m'n macro blijft hangen zodra het 2de werkboek geopend is naar mijn idee. Dan zou je tijdens het plakken gewoon niet moeten zien verschijnen of moet werkboek 2 in ieder geval dicht gaan...

Arjan
 
Nu anders aangepakt en wel eerst geplakt. Dan doet alles het inderdaad.
Al ik me nog steeds afvraag waarom 'copy' het sluiten van het werkboek niet overleeft. Het klembord zal dan toch gewoon leeg moeten zijn?!

Voor de geïnteresseerde:
Code:
    Dim path As String
    Dim sBook As Object
    Dim tBook As Object
    
    Set tBook = ThisWorkbook
    Sheets("Data").Select
    path = Cells(24, 23).Value
    
    Workbooks.OpenText Filename:=path, _
    DataType:=xlDelimited, Semicolon:=True, Local:=True
    
    Set sBook = ActiveWorkbook
    
    Cells.Copy
    tBook.Sheets("Invoer").Activate
    Cells(1, 1).PasteSpecial
    
    
    sBook.Close (False)

Dank voor het meekijken!
Arjan
 
De "copy" statement in excel is "transient". Zodra de source op enige manier gemanipuleerd wordt, wordt de copy statement ongeldig.
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan