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

Dubbele vraag: Range opvragen en vba

bartvt78

Gebruiker
Lid geworden
16 mrt 2017
Berichten
144
Beste forumleden. Ik zit met het volgende: Ik heb een behoorlijk lange lijst van data, allen voorzien van een datum. Nu wil ik, als ik 2 datums ingeeft in 2 verschillende cellen, dat dit de begin datum en de einddatum is van een reeks data. In het bijgevoegde voorbeeldfile is het volgens mij duidelijk. Ik heb 2 rijen data (A1 tot E8. Als ik in cel B12 en in cel E12 een datum ingeef, dan moeten in de cellen A15 tot B20 en D15 tot E20 de data komen van alle cellen die tussen de datumrange van B12 en E12 zitten.
2de vraag, maar totaal iets anders: Ik heb in een file een knop nodig (ik denk vba, maar niet zeker). Als je op deze knop drukt moet er een pop up komen om een excel file te selecteren. Als je dan een file selecteert, moet die alle data uit de geselecteerde excel file overzetten in de file waar de knop in staat. Ik hoop dat het duidelijk is. Indien niet, hoor ik het ook graag voor verduidelijking. Ik hoop dat ik beide items in de correcte groep heb geplaatst.

Mvg,
Bart
 

Bijlagen

De FILTER functie gebruik je in een formule. Probeer het eens eerst zelf, daar leer je meer van dan overschrijven :-)
 
Maar omdat de FILTER functie met twee criteria een beetje lastiger is hierbij een voorzetje:
Code:
=FILTER(A3:B8;(A3:A8>=B12)*(A3:A8<=E12);"")

En wat betreft het tweede deel van je vraag, betreft het één werkblad (met een vaste naam?) waarvan de inhoud (met formules en/of opmaak?) naar een bestaand of nieuw werkblad moet worden gekopieerd?
 
Hey jkpieterse en AHulpje. Ik dacht dat je een autofilter bedoelde. Zo dat trechter symbool in excel. Ik ga vanavond eens proberen verder te bouwen op de voorzet van AHulpje. Het is inderdaad beter dat je zelf werkt naar een oplossing, maar ik kon er niet aan beginnen. Nu zou het mss wel lukken. Ik houd je op de hoogte. Ivm het tweede deel: De file waar naartoe gekopieerd moet worden heeft de naam van een maand. De file waarvan het gekopieerd moet worden heeft de naam van een dag. De namen zien er uit als: Januari.xlsx, en de files waarvan gekopieerd moet worden hebben de naam: Woensdag_1-1-2025.xlsx. Hier mag ook een voorzet gegeven worden, maar ook hier weet ik niet echt waar te beginnen.
 
Hey AHulpje, ik dank je alvast voor de voorzet. Ik krijg echter al direct een foutmelding bij het uitvoeren. Ik krijg: "Fout 91 tijdens runtime." en ook "Objectvariabele of blokvariabele With is niet ingesteld." Ik heb gezocht met chatgpt, maar daar kwam niets bruikbaars uit. Ik vraag vriendelijk om de voorzet iets duidelijker te maken. Dan kan ik verder bouwen op het begin. Als de macro bv al het venster zou openen dat je ook krijgt wanneer je klikt op Archief, Bestand Openen, dat zou al mooi zijn. Ik heb het ook geprobeerd met zelf een macro op te nemen, maar die geeft niets weer als ik enkel het stukje wil opnemen om het venster te openen om een excel te selecteren. En zoals ik zei, chatgpt geeft ook niet veel bruikbaars.
Het stukje filter heb ik succesvol kunnen implementeren en aanpassen aan wat ik nodig had. Hartelijk dank daarvoor.
Noot ter info: Dit vind ik via ook weer chatgpt, maar dit geeft dezelfde foutmelding. Vandaar dat ik hulp vroeg, omdat chatgtp macro al vastloopt vooraleer het eigenlijk begonnen is....


Sub ImporteerDataFile()
Dim strFile As String
Dim wbDagFile As Workbook

With Application.FileDialog(msoFileDialogFilePicker)
.Title = "Selecteer dagbestand"
.Filters.Add "Dagfile", "*.xlsx*", 1
.InitialFileName = ThisWorkbook.Path
.AllowMultiSelect = False

If .Show <> -1 Then
MsgBox "Geen file geselecteerd"
Exit Sub
End If
End Sub
 
Het stukje code wat je plaatste mist nog een End With direct voor End Sub.
Bij mij werkt die code dan prima, net als de code die ik in #7 plaatste.
Welke van de twee foutmeldingen treden op welke regels in welke code op?
Heb je in mijn bestand uit #7 de knop "Importeer dagbestand" gebruikt?
 
Ik ben begonnen met jou stukje programmatie, en krijg deze foutmelding direct. Ik gebruik Office 365 NL versie. Ik voeg een screenshot bij. Dit is wat ik krijg als ik jou voorbeeld file open en op de knop klik, zonder dat ik enige aanpassing heb gedaan.... :(
 

Bijlagen

  • Foutmelding.png
    Foutmelding.png
    232,6 KB · Weergaven: 10
En heb je op "Fouten opsporen" geklikt? Dan kun je zien op welke coderegel de fout optreedt.
 
Bij deze. De foutopsporing.
 

Bijlagen

  • Scherm­afbeelding 2025-07-30 om 22.30.08.png
    Scherm­afbeelding 2025-07-30 om 22.30.08.png
    216,1 KB · Weergaven: 20
Vreemd, misschien betreft het een verschil tussen Office365 en Office Professional Plus 2021.
Wat gebeurt er als je van die regel comment maakt?
 
Dan valt ie stil op de volgende regel met dezelfde foutmelding. En als ik die regel dan ook als comment zet, valt die stil op de daarop volgende regel.... :( En zoals ik zei, wat chatgtp zegt, komt ook altijd met een foutmelding... heel bizar
 
Nope, exact zelfde foutmelding en loopt vast op exact dezelfde regel... das wel balen.... Dus die msoFileDialogOpen of msoFileDialogFilePicker gaat die nog net door, maar de regel daaronder stopt die telkens.
 
En helemaal uitgekleed:
Code:
Sub test()
    Dim fDialog As FileDialog
    Set fDialog = Application.FileDialog(msoFileDialogFilePicker)
     
    If fDialog.Show = -1 Then
       MsgBox fDialog.SelectedItems(1)
    End If
End Sub
 
Dan idem dezelfde foutmelding, en valt hij stil op de lijn If fDialog.Show = -1 Then, dus weer juist de lijn onder de msoFileDialogFilePicker. En dat dan veranderen naar msoFileDialogOpen helpt ook niet.
 
Kun je een screenprintje plaatsen van het schermpje dat verschijnt als je in de VBA omgeving op Extra, Verwijzingen klikt. Bij mij ziet dat er zo uit:
1753911251265.png
 
Ik was ff druk met iets anders. Dit lijkt me hetzelfde te staan, en wat aangevinkt is, lijkt me hetzelfde. Ik ga gaan slapen. Ik lees je eventuele reactie morgen wel. Dan wens ik je een prettige nacht, en bedankt voor je geduld hiervoor...
 

Bijlagen

  • Scherm­afbeelding 2025-07-31 om 00.33.06.png
    Scherm­afbeelding 2025-07-31 om 00.33.06.png
    288,9 KB · Weergaven: 16
Terug
Bovenaan Onderaan