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

Opgelost Dubbele vraag: Range opvragen en vba

Dit topic is als opgelost gemarkeerd
Dus je ziet geen link onder mijn bericht in #39?
Of zelfs onder deze tekst?

Eo_circle_red_arrow-down.svg.png
 
Hey edmoor, nu heb ik het gevonden. Ik zie momenteel geen # als mogelijkheid om te selecteren. En Warme bakkertje, dat heb ik bekeken. Ik ben nu bezig met mijn vba te schrijven. Hartelijk dank voor de voorbeelden en antwoorden.
 
Kijk eens naar de berichtnummers.
Wat staat er voor het nummer?
 
Ik zie een knopje voor toe te voegen aan favorieten naast het bericht nummer en een knopje om te delen. Ik post straks wel mijn resultaat om te laten beoordelen. Dan zoek ik wat verder. Ik heb nu wel in jou posts gezien wat je wil zeggen met code tags. Hopelijk vind ik het juiste. Ik post iets van zodra ik mijn vba heb geschreven. Ik denk dat ik er nu wel aan uit kan om het verder te schrijven. Hartelijk dank.1753971337613.png
 
Kijk eens waar de rode pijlen naar wijzen.
Misschien dat het er op MacOS anders uitziet, dat weet ik niet.
1753971337613.png
 
Ik zie met onderstaande code enkel . XLSM bestanden, terwijl ik in de code .xlsx heb geschreven in de code. Mijn vba loopt vast op de lijn ActiveWorkbook.ActiveSheet.Range("C5;C7;C11:C16;C29;C52;C47:E60;E67:E82;C55:C138;N9;N35;Y4").Select . Moet ik dan elke range apart selecteren en kopiëren? Ik hoop dat ik de code dan nu correct weergeef hier. Ik vind geen VBA code in de selectie dropdown.


Code:
Sub ImporteerImportBestand()
    Dim strFile As String
    Dim dialog As FileDialog
    Dim selectedFile As String
    
    ' Open file dialog to select the day file
    Set dialog = Application.FileDialog(msoFileDialogFilePicker)
    With dialog
        .Title = "Selecteer Importbestand"
        .Filters.Add "Importbestand", "*.xls*", 1
        .InitialFileName = ThisWorkbook.Path
        .AllowMultiSelect = False
        
        ' Show the dialog and check if a file was selected
        If .Show = -1 Then ' If a file is selected
            selectedFile = .SelectedItems(1)
            strFile = selectedFile
        Else ' If no file is selected
            MsgBox "Geen Importbestand geselecteerd"
            Exit Sub
        End If
    End With
    
    ' Open the selected file and copy the first sheet to this workbook
    Workbooks.Open selectedFile
    ActiveWorkbook.Sheets("Prestaties").Select
    ActiveWorkbook.ActiveSheet.Range("C5;C7;C11:C16;C29;C52;C47:E60;E67:E82;C55:C138;N9;N35;Y4").Select
    Selection.Copy
    ThisWorkbook.Sheets("Prestaties").Range("C5").Select
    Selection.Paste
    ActiveWorkbook.Sheets("Transacties").Select
    ActiveWorkbook.ActiveSheet.Range("B8:T10000").Select
    Selection.Copy
    ThisWorkbook.Sheets("Transacties").Range("B8").Select
    Selection.Paste
    ActiveWorkbook.Sheets("Prestaties").Select
    
    ' Close the imported workbook without saving
    On Error Resume Next
    Workbooks(selectedFile).Close savechanges:=False
    On Error GoTo 0 ' Reset error handling
End Sub
 
Je zou alle bestanden moeten zien waarvan de extensie met .xls begint.
Doe je dat op Windows of op MacOS?
 
Je kan dit herleiden naar
Code:
    Workbooks.Open selectedFile
    With ActiveWorkbook
        .Sheets("Prestaties").Range("C5;C7;C11:C16;C29;C52;C47:E60;E67:E82;C55:C138;N9;N35;Y4").Copy ThisWorkbook.Sheets("Prestaties").Range("C5")
        .Sheets("Transacties").Range("B8:T10000").Copy ThisWorkbook.Sheets("Transacties").Range("B8")
        Application.Goto .Sheets("Prestaties").Range("A1"), True
    End With
    ' Close the imported workbook without saving
    On Error Resume Next
    selectedFile = CreateObject("scripting.filesystemobject").getfilename(selectedFile)
    Workbooks(selectedFile).Close savechanges:=False
    On Error GoTo 0 ' Reset error handlin
maar moeten de ranges van werkblad Prestaties in je bronbestand ook naar deze specifieke ranges in je doelbestand gekopieerd worden?
 
@bartvt78
Ik volg het draadje een beetje.
Naar mijn bescheiden mening denk je er iets te ingewikkeld over na.
Het geheel is denkelijk eenvoudig op te lossen zonder VBA maar met power query.
Mijn vragen:
  1. Staan de bestanden in een aparte map?
  2. Wat wil je precies bereiken? Moet alles in een nieuwe werkmap komen?
  3. Hoe zien de bestandsformaten eruit?
Het bestandje ziet er een beetje rommelig uit aangezien je in je voorbeeld steeds dezelfde gegevens gebruikt.
 

Bijlagen

Laatst bewerkt:
Hey Warme bakkertje, om te antwoorden op je vraag: Dat is de bedoeling ja.
 
Mijn Vba loopt momenteel vast op de lijn "ThisWorkbook.Sheets("Prestaties").Range("C5").Select"
Mijn beide files hebben een tabblad Prestaties, en zijn niet beveiligd met een paswoord ofzo.
Ik doe het nu in mijn parallels op windows dus. In de Macbook omgeving werkt het niet.
Code:
Sub ImporteerImportBestand()
    Dim strFile As String
    Dim dialog As FileDialog
    Dim selectedFile As String
   
    ' Open file dialog to select the day file
    Set dialog = Application.FileDialog(msoFileDialogFilePicker)
    With dialog
        .Title = "Selecteer Importbestand"
        .Filters.Add "Importbestand", "*.xls*", 1
        .InitialFileName = ThisWorkbook.Path
        .AllowMultiSelect = False
       
        ' Show the dialog and check if a file was selected
        If .Show = -1 Then ' If a file is selected
            selectedFile = .SelectedItems(1)
            strFile = selectedFile
        Else ' If no file is selected
            MsgBox "Geen Importbestand geselecteerd"
            Exit Sub
        End If
    End With
   
    ' Open the selected file and copy the first sheet to this workbook
    Workbooks.Open selectedFile
    ActiveWorkbook.Sheets("Prestaties").Select
    ActiveWorkbook.ActiveSheet.Range("C5").Select
    Selection.Copy
    ThisWorkbook.Sheets("Prestaties").Range("C5").Select
   
    ' Close the imported workbook without saving
    On Error Resume Next
    Workbooks(selectedFile).Close savechanges:=False
    On Error GoTo 0 ' Reset error handling
End Sub
 
Is dit misschien de bedoeling:
Code:
ThisWorkbook.Sheets("Prestaties").Range("C5") = ActiveWorkbook.ActiveSheet.Range("C5")
 
Kijk eens of het hiermee lukt.
Code:
Sub ImporteerDagbestand()
    Dim selectedFile As String, rngArr, i As Long
   
    ' Open file dialog to select the day file
    With Application.FileDialog(msoFileDialogFilePicker)
        .Title = "Selecteer dagbestand"
        .Filters.Add "Dagbestand", "*.xls*", 1
        .InitialFileName = ThisWorkbook.Path
        .AllowMultiSelect = False
       
        ' Show the dialog and check if a file was selected
        If .Show = -1 Then ' If a file is selected
            selectedFile = .SelectedItems(1)
        Else ' If no file is selected
            MsgBox "Geen dagbestand geselecteerd"
            Exit Sub
        End If
    End With
   
    ' Open the selected file and copy the first sheet to this workbook
    rngArr = Split("C5;C7;C11:C16;C29;C52;C47:E60;E67:E82;C55:C138;N9;N35;Y4", ";")
    Workbooks.Open selectedFile
    With ActiveWorkbook
        For i = 0 To UBound(rngArr)
            ThisWorkbook.Sheets("Prestaties").Range(rngArr(i)).Value = .Sheets("Prestaties").Range(rngArr(i)).Value
        Next
        .Sheets("Transacties").Range("B8:T10000").Copy ThisWorkbook.Sheets("Transacties").Range("B8")
        Application.Goto .Sheets("Prestaties").Range("A1"), True
    End With
    ' Close the imported workbook without saving
    On Error Resume Next
    selectedFile = CreateObject("scripting.filesystemobject").getfilename(selectedFile)
    Workbooks(selectedFile).Close False
    On Error GoTo 0 ' Reset error handling
End Sub
 
Ik wil alle forumleden bedanken die een bijdrage hebben geleverd. In combinatie met alle voorstellen en ChatGTP ben ik tot een werkbare oplossing gekomen. Hartelijk dank, en alvast een goed weekeinde.
 
De filedialog is niet nieuw, die is er al sinds tenminste Excel 2010 als ik het me goed herinner.
 
Hey jkpieterse, bedankt voor je antwoord, maar op wat is dit precies een antwoord? Ligt wss aan mij dat ik het niet direct weet.
 
Omdat ergens in dit draadje gezegd werd dat het misschien was omdat het niet de meest recente Office versie is. Maar het ging om Mac Excel, dus mijn opmerking had weinig toe te voegen :-)
 
Geen probleem. Mijn document werkt zoals het zou moeten werken. Wel enkel in de windows versie van office. De MacOS versie werkt niet. Kleine omweg dus, maar het resultaat is er.
 
Terug
Bovenaan Onderaan