Hallo,
Ik ben bezig in een Excel-sheet waar ook een aantal Visual Basic scriptjes in staan, onder andere een zoekvenster. Het zoeken gaat prima en daar heb ik ook niks te klagen over. Maar helaas is het zoekvenster hoofdletter gevoelig en ik (of eigenlijk mijn baas) wil dat hij juist niet hoofdlettergevoelig is. Hieronder de code zoals hij nu is
Ik heb er al naar gekeken maar ik kon het niet vinden....
Ik weet niet of iemand van jullie weet hoe dit vrij makkelijk kan worden gedaan
met vr. groet,
Sander
Ik ben bezig in een Excel-sheet waar ook een aantal Visual Basic scriptjes in staan, onder andere een zoekvenster. Het zoeken gaat prima en daar heb ik ook niks te klagen over. Maar helaas is het zoekvenster hoofdletter gevoelig en ik (of eigenlijk mijn baas) wil dat hij juist niet hoofdlettergevoelig is. Hieronder de code zoals hij nu is
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
| Private Sub cmdAnnuleren_Click()
Unload Me
End Sub
Private Sub Frame1_Click()
End Sub
Private Sub UserForm_Initialize()
Call Keusenlijsten_instellen
End Sub
Private Sub cmdZoeken_Click()
Dim nummer As String, naam As String
Dim i As Integer, maxTabel As Integer
'Dim Vanaanvang, Totaanvang, Vanactiedatum, Totactiedatum As Date
'einde vh bestand bepalen
Columns("A:A").EntireColumn.Hidden = False
Worksheets("Project Status").Select
Range("a1").Select
Set legecel = Sheets("Project Status").Cells.Find(What:="", After:=ActiveCell, _
LookIn:=xlValues, LookAt:=xlWhole, SearchOrder:=xlByColumns, _
SearchDirection:=xlNext, MatchCase:=True)
maxTabel = legecel.Row
'Als de velden leeg zijn worden ze niet meegenomen
'Zoeken en gevonden Prokjecten in "Zoekresultaten" printen
i = 5: resultaten = 0
' voorkomen dat er lege velden worden geconverteerd naar data
If txtAanvangdatumvan <> "" Then Vanaanvang = DateValue(txtAanvangdatumvan)
If txtAanvangdatumtot <> "" Then Totaanvang = DateValue(txtAanvangdatumtot)
If txtActiedatumvan <> "" Then Vanactiedatum = DateValue(txtActiedatumvan)
If txtActiedatumtot <> "" Then Totactiedatum = DateValue(txtActiedatumtot)
'Voorzien van zoek functie naar deel van klantnaam door gebruik te maken van het volgende commando
'celinhoud Like ("*" & tekstuitform & "*") Then
Do While i < maxTabel
Zoekactie = ""
Zoekaanvang = ""
If Cells(i, 6).Value <> "" Then Zoekaanvang = DateValue(Cells(i, 6))
If Cells(i, 12).Value <> "" Then Zoekactie = DateValue(Cells(i, 12))
If (txtNummer.Text = "" Or txtNummer.Text = Cells(i, 2).Value) And _
(txtKlantnaam.Text = "" Or Cells(i, 3).Value Like ("*" & txtKlantnaam.Text & "*")) And _
(txtProjnaam.Text = "" Or Cells(i, 4).Value Like ("*" & txtProjnaam.Text & "*")) And _
(lstOmschrijving.Text = "" Or lstOmschrijving.Text = Cells(i, 5).Value) And _
(txtAanvangdatumvan.Text = "" Or (Vanaanvang <= Zoekaanvang And Totaanvang >= Zoekaanvang) _
Or txtAanvangdatumtot.Text = "") And _
(lstProduct.Text = "" Or lstProduct = Cells(i, 7).Value) And _
(lstLand.Text = "" Or lstLand.Text = Cells(i, 8).Value) And _
(lstVerkoper.Text = "" Or lstVerkoper.Text = Cells(i, 9).Value) And _
(lstStatus.Text = "" Or lstStatus = Cells(i, 10).Value) And _
(txtActiedatumvan.Text = "" Or (Vanactiedatum <= Zoekactie And Totactiedatum >= Zoekactie) _
Or txtActiedatumtot.Text = "") And _
(lstOmvang.Text = "" Or lstOmvang.Text = Cells(i, 13).Value) And _
(lstOfferte.Text = "" Or lstOfferte.Text = Cells(i, 14).Value) And _
(lstRisico.Text = "" Or lstRisico.Text = Cells(i, 15).Value) And _
(lstOrderkans.Text = "" Or lstOrderkans.Text = Cells(i, 16).Value) _
Then
''Rows(i).Copy Destination:=Sheets("Zoekresultaten").Rows(resultaten + 2)
resultaten = resultaten + 1
Rows(i).EntireRow.Hidden = False
'MsgBox (i & " goed")
Else
Rows(i).EntireRow.Hidden = True
End If
i = i + 1
'If i = 20 Then GoTo 111 'stop routine voor testen
Loop
111 q = 2 'stop uitvoering macro
Columns("A:A").EntireColumn.Hidden = True
Range("b1").Select
Unload Me
If resultaten = 1 Then
MsgBox ("Er is 1 Project gevonden")
ElseIf resultaten = 0 Then
MsgBox ("Er zijn geen projecten gevonden! Controleer op evt. hoofdletters en typfouten")
Call reset
Else
MsgBox ("Er zijn " & resultaten & " Projecten gevonden")
End If
''FrmZoekresultaat.Show
End Sub
Sub Keusenlijsten_instellen()
' lijst bij formulier zoeken = copie van lijst bij formulier Nieuw
' lijst bij formulier nieuw = lijst bij zoeken = lijst bij wijzigen
With lstOmschrijving
<Veel Items>
End With
With lstProduct
<Veel Items>
End With
With lstLand
<Veel Landen>
End With
With lstVerkoper
<4 verkopers>
End With
With lstStatus
<Order Status>
End With
With lstOmvang
<Veel geld>
End With
With lstOfferte
.AddItem "Praatplaat"
.AddItem "Globaal voorstel"
.AddItem "Indicatie offerte"
.AddItem "Budget offerte"
.AddItem "Definitieve offerte"
End With
With lstRisico
.AddItem "Laag"
.AddItem "Gewoon"
.AddItem "Hoog"
End With
With lstOrderkans
.AddItem "Laag"
.AddItem "Gewoon"
.AddItem "Hoog"
End With
End Sub |
Ik heb er al naar gekeken maar ik kon het niet vinden....
Ik weet niet of iemand van jullie weet hoe dit vrij makkelijk kan worden gedaan
met vr. groet,
Sander
/post