tijmen amsing
Gebruiker
- Lid geworden
- 29 jul 2007
- Berichten
- 34
Ik ben bezig met het maken van een Excel worksheet waarin ik alle films met bijhorende informatie in wil hebben staan.
Ik heb hierbij al knoppen en macro's gemaakt voor het sorteren van data uit verschillende kolommen.
Daarnaast heb ik een macro voor het opzoeken van data (partial) uit de kolommen A t/m E.
Hierbij kan de gebruiker een zoekwoord invoeren die vervolgens gezocht wordt. Vervolgens worden de gehele rijen met de daarin een match geel gekleurd.
Dit werkt al vrij goed maar ik stuit op 1 ding, en zou verder nog twee dingen willen toevoegen.
Het probleem is het volgende:
Als ik niks invul of op cancel druk worden de rijen zonder data, maar die wel in de range van de macro zijn beschreven, geel gekleurd. Dit is natuurlijk niet de bedoeling.
Ik snap dat wanneer ik de range van de macro aanpas aan de precieze hoeveelheid van het aantal rijen die ik gebruik voor de films, dit probleem er niet zou zijn. Maar ik wil voorkomen dat ik, elke keer als ik een film toevoeg, de macro ook moet aanpassen.
Ik zou hier graag dus een oplossing voor hebben die er voor zorgt dat deze lege rijen niet gekleurd worden.
Daarnaast wil ik de volgende twee dingen toevoegen maar weet door mijn weinige ervaring in VBA niet hoe:
- Als er niks is ingevuld of er niks is gevonden moet er een messagebox komen met de tekst 'Niets gevonden.'
- Mijn filmlijst bedraagt enkele honderden rijen. Daarom wil ik dat Excel naar de rij springt met daarin de eerst gevonden match.
Dit is de code die ik zover heb:
Ik heb ook een voorbeeld van mijn worksheet toegevoegd.
Ik hoop dat iemand mij kan helpen.
Alvast bedankt
Ik heb hierbij al knoppen en macro's gemaakt voor het sorteren van data uit verschillende kolommen.
Daarnaast heb ik een macro voor het opzoeken van data (partial) uit de kolommen A t/m E.
Hierbij kan de gebruiker een zoekwoord invoeren die vervolgens gezocht wordt. Vervolgens worden de gehele rijen met de daarin een match geel gekleurd.
Dit werkt al vrij goed maar ik stuit op 1 ding, en zou verder nog twee dingen willen toevoegen.
Het probleem is het volgende:
Als ik niks invul of op cancel druk worden de rijen zonder data, maar die wel in de range van de macro zijn beschreven, geel gekleurd. Dit is natuurlijk niet de bedoeling.
Ik snap dat wanneer ik de range van de macro aanpas aan de precieze hoeveelheid van het aantal rijen die ik gebruik voor de films, dit probleem er niet zou zijn. Maar ik wil voorkomen dat ik, elke keer als ik een film toevoeg, de macro ook moet aanpassen.
Ik zou hier graag dus een oplossing voor hebben die er voor zorgt dat deze lege rijen niet gekleurd worden.
Daarnaast wil ik de volgende twee dingen toevoegen maar weet door mijn weinige ervaring in VBA niet hoe:
- Als er niks is ingevuld of er niks is gevonden moet er een messagebox komen met de tekst 'Niets gevonden.'
- Mijn filmlijst bedraagt enkele honderden rijen. Daarom wil ik dat Excel naar de rij springt met daarin de eerst gevonden match.
Dit is de code die ik zover heb:
Code:
Sub ZoekEnKleur()
Dim q As Range
Dim Findstr As String
Findstr = InputBox("Vul zoekterm in:", Title:="Zoeken") ' Enter search string
If Findstr = "" Then MsgBox "Niets ingevuld." ' Msgbox when no search string
If Findstr = "" Then Exit Sub ' Exit when no search string
With Worksheets(1).Range("A9", [E999]) ' Reflect search range
Set q = .Find(Findstr, LookIn:=xlValues, Lookat:=xlPart)
If Not q Is Nothing Then
FirstAddress = q.Address
Do
Range(Cells(q.Row, 1), Cells(q.Row, 7)).Interior.ColorIndex = 36 ' Set color
Set q = .FindNext(q) ' Look for next occurence of search string
Loop While q.Address <> FirstAddress
Else
MsgBox Findstr & " is niet gevonden." ' Msgbox when nothing found
End If
End With
End Sub
Ik heb ook een voorbeeld van mijn worksheet toegevoegd.
Ik hoop dat iemand mij kan helpen.
Alvast bedankt

Bijlagen
Laatst bewerkt: