Foutmelding bij gegevens in een listbox zetten

Status
Niet open voor verdere reacties.

HJOonk

Gebruiker
Lid geworden
29 mei 2017
Berichten
8
Hoi,

Momenteel werk ik aan een project waarbij ik in VBA een Exceldatabase wil gaan vullen. Ik ben een beginner op het gebied van VBA, maar met wat zoekwerk ben ik al een heel eind gekomen.
Nu probeer ik gegevens uit mijn registratietabel d.m.v. een zoekopdracht en de knop “cmdZoeken” in een listbox te krijgen. Hierbij gaat het volgens mij op de volgende regel fout.

DataSH.Range("A1").CurrentRegion.AdvancedFilter Action:=xlFilterCopy, _
CriteriaRange:=Range("Inkomsten en uitgaven!$AB$1:$AB$2"), CopyToRange:=Range("Inkomsten en uitgaven!$AD$1:$AK$1"), _
Unique:=False

Wanneer ik deze regel analyseer zie ik het volgende: “Methodate Range van object_ Global is mislukt.”
Ik heb mijn volledige bestand bij gevoegd en hoop dat iemand mij kan helpen om de gegevens correct in de listbox te krijgen?

Mvg,
Henk

Bekijk bijlage The Money Sheet.xlsm
 
Zo doet-ie het wel:
Code:
    Set DataSH = Sheets(1)
Overigens maak je het jezelf nodeloos ingewikkeld door je code niet in te laten springen bij de IF's. Je hebt nu geen enkel overzicht waar je zit in de code.
 
Hoi OctaFish,

Bedankt voor je reactie en tip.
Ik heb mijn code aangepast zoals je hebt aangegeven (Set DataSH = Sheets("Inkomsten en uitgaven") vervangen door Set DataSH = Sheets(1)), maar helaas krijg ik nog steeds geen gegevens in de listbox.
Waar zou het nog meer aan kunnen liggen?
 
Je code onder de keuzelijst doet precies wat je verwacht; wat werkt er dan niet?
 
Ik wil graag met de knop 'Zoeken' op mijn userform alle gegevens uit mijn tabel tonen in de listbox. Of door middel van de combobox "Zoeken in" en de tekstbox "Zoeken naar" gerichte records in de listbox tonen. Om dit te doen probeer ik gegevens uit mijn tabel te kopiëren naar de kolommen AD t/m AK en deze vervolgens in de listbox te krijgen.

Wanneer ik nu naar gegevens zoek, krijg ik in alle gevallen mijn messagebox te zien dat er geen gegevens zijn gevonden. Dit terwijl er wel degelijk gegevens in de tabel staan die aan mijn zoekcriteria voldoen.
 
Dit stukje "IenUSelect" kan ik niet terug vinden bij de gedefineerde namen
Code:
Me.lbZoeken_2.RowSource = DataSH.Range("[COLOR=#ff0000]IenUSelect[/COLOR]").Address(external:=True)
 
en als je dit stukje ook even verandert dan werkt het wel
Code:
DataSH.Range("A1").CurrentRegion.AdvancedFilter Action:=xlFilterCopy, _
CriteriaRange:=DataSH.Range("$AB$1:$AB$2"), CopyToRange:=DataSH.Range("$AD$1:$AK$1"), _
Unique:=False
of op deze manier
Code:
    With DataSH
        .Range("A1").CurrentRegion.AdvancedFilter 2, .Range("$AB$1:$AB$2"), .Range("$AD$1:$AK$1")
    End With
Oja
Code:
If Me.cbbZoeken_2.Value <> "All_Columns" Then
veranderen naar
Code:
If Me.cbbZoeken_2.Value <> "Alle kolommen" Then
 
Laatst bewerkt:
Jack, bedankt!
Ik heb de boel aangepast en nu krijg ik inderdaad de gegevens in mijn listbox.

Enige waar ik nog tegenaan loop is dat ik niet op Id kan zoeken. Wanneer ik bijvoorbeeld op '1' zoek in de datum kolom worden netjes alle waarden met een '1' er in in de listbox gezet, maar wanneer ik hetzelfde voor de Id kolom doe, blijft de listbox leeg. Ook krijg ik geen popup dat er geen gegevens gevonden zijn.

Heb je misschien nog een idee waar dit aan zou kunnen liggen?
 
Laatst bewerkt:
Top! Hij doet het.
Bedankt. Ga ik er verder mee aan de slag.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan