• 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.

Hulp bij macro

Status
Niet open voor verdere reacties.

Valentin

Gebruiker
Lid geworden
14 feb 2009
Berichten
80
Ik heb de volgende macro en hij werkt goed op één detail na
nl wanneer de gebruiker op annuleren klikt in het dialoogvenster bestandsselectie dan krijg hij de foutmelding 1004 Methode RefreshAll van Workbook mislukt.
Deze ActiveWorkbook.RefreshAll komt van "Gegevens van tekst import wizard"
Is er een mogelijkheid om een exit sub in te voegen wanneer de gebruiker klikt op annuleren?
Code:
Sub VernieuwGegevens()
      Blad7.Select
    Blad1.Visible = True
    
    ActiveWorkbook.RefreshAll
    
     Application.ScreenUpdating = False
    With Blad1
If SheetExists(.Range("B1").Value) Then

NB = Blad1.Range("B1").Value
    Blad1.Select
   Range("A3").Select
    ActiveCell.Select
    Range(Selection, Selection.End(xlDown)).Select
    Range(Selection, Selection.End(xlToRight)).Select
    Selection.Copy
Rest van de code
End sub
 
Laat de code voor de bestandsselectie ook even zien.
 
Code:
Sub Query()

    With ActiveSheet.QueryTables.Add(Connection:= _
        "TEXT;C:\Users\Valentin\Downloads\Nr0000000001.csv", Destination:=Range _
        ("$A$1"))
        .Name = "Nr0000000001"
        .FieldNames = True
        .RowNumbers = False
        .FillAdjacentFormulas = False
        .PreserveFormatting = True
        .RefreshOnFileOpen = False
        .RefreshStyle = xlInsertDeleteCells
        .SavePassword = False
        .SaveData = True
        .AdjustColumnWidth = True
        .RefreshPeriod = 0
        .TextFilePromptOnRefresh = False
        .TextFilePlatform = 1252
        .TextFileStartRow = 1
        .TextFileParseType = xlDelimited
        .TextFileTextQualifier = xlTextQualifierDoubleQuote
        .TextFileConsecutiveDelimiter = False
        .TextFileTabDelimiter = False
        .TextFileSemicolonDelimiter = True
        .TextFileCommaDelimiter = False
        .TextFileSpaceDelimiter = False
        .TextFileColumnDataTypes = Array(4, 1, 1, 1, 1, 4, 1, 1, 1, 1)
        .TextFileTrailingMinusNumbers = True
        .Refresh BackgroundQuery:=False
    End With
End Sub
 
Dat is de code voor het importeren van een tekstbestand, niet de code voor het selecteren van een bestand.
 
De code ActiveWorkbook.RefreshAll vernieuwd de gegevens van de text import wizard en opent het venster bestandskeuze waarbij telkens een ander bestand geimporteerd wordt.
 
Laatst bewerkt:
(Opgelost) Hulp bij macro

Code:
Sub VernieuwGegevens()
      Blad7.Select
    Blad1.Visible = True
    On Error GoTo Halt
    ActiveWorkbook.RefreshAll
    
     Application.ScreenUpdating = False
    With Blad1
If SheetExists(.Range("B1").Value) Then

NB = Blad1.Range("B1").Value
    Blad1.Select
   Range("A3").Select
    ActiveCell.Select
    Range(Selection, Selection.End(xlDown)).Select
    Range(Selection, Selection.End(xlToRight)).Select
    Selection.Copy
Rest van de code

Halt: Blad1.Visible = False
Exit Sub
End sub
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan