query achter command button

Status
Niet open voor verdere reacties.

tommy75

Gebruiker
Lid geworden
23 okt 2009
Berichten
9
Hallo,

Ik heb een registratieformulier voor cursisten van een avondschool gemaakt met VBA in Excel.

De gegevens die de gebruiker in tekstvakken invult, worden weggeschreven naar verschillende sheets in hetzelfde workbook, afhankelijk van de option button die ze in het formulier aangeduid hebben. Per vak is er namelijk een aparte sheet. (vb Frans, ICT, Nederlands,...)

Ik zou nu op een nieuwe sheet een paar standaard knoppen willen zetten, waarmee ik een querie op alle worksheets kan toepassen. Het resultaat van die query mag in een sheet die 'resultaat' heet, getoond worden.

Bijvoorbeeld:

Ik wil weten voor welke vakgebieden een cursist zich ingeschreven heeft... Bij het klikken op de cmd zou de user een invoervak moeten krijgen waarin hij of zij de naam van de cursist kan intikken. Na bevestiging worden de resultaten van deze query weergegeven in de sheet resultaat.

Hoe begin ik hieraan?

Alvast bedankt,
Tommy
 
Ik vond onlangs dit:

Function vertzoekenallesheets(Look_Value As Variant, Tble_Array As Range, Col_num As Integer, Optional Range_look As Boolean)


Dim wSheet As Worksheet
Dim vFound
On Error Resume Next
For Each wSheet In ActiveWorkbook.Worksheets
With wSheet
Set Tble_Array = .Range(Tble_Array.Address)
vFound = WorksheetFunction.VLookup(Look_Value, Tble_Array, Col_num, Range_look)
End With
If Not IsEmpty(vFound) Then Exit For
Next wSheet
Set Tble_Array = Nothing
vertzoekenallesheets = vFound
End Function


Kan ik deze functie misschien aanroepen na een klik op de knop? Ik heb dit geprobeerd, maar dit lukt me niet...
 
Ok, Ik ben op de goede weg nu... Ik heb al dit gevonden:

Private Sub cmdOk_Click()


With ActiveSheet

.AutoFilterMode = False
.Range("A3:K150").AutoFilter

With .AutoFilter.Range

If txtNaam.Value <> "" Then
.AutoFilter Field:=1, Criteria1:="*" & txtNaam.Value & "*"
End If

If txtVoornaam.Value <> "" Then
.AutoFilter Field:=2, Criteria1:="*" & txtVoornaam.Value & "*"
End If

If txtStraat.Value <> "" Then
.AutoFilter Field:=3, Criteria1:="*" & txtStraat.Value & "*"
End If

If txtPostcode.Value <> "" Then
.AutoFilter Field:=4, Criteria1:="*" & txtPostcode.Value & "*"
End If

If txtGemeente.Value <> "" Then
.AutoFilter Field:=5, Criteria1:="*" & txtGemeente.Value & "*"
End If

If txtTelefoonnummer.Value <> "" Then
.AutoFilter Field:=6, Criteria1:="*" & txtTelefoonnummer.Value & "*"
End If

End With

End With

End Sub


Probleem is dat dit werkt voor slechts 1 sheet. Indien ik ActiveSheet vervang door ActiveWorkbook, komen er foutmeldingen...

Iemand enig idee?
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan