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

Macro zoeken in bepaald gebied

Status
Niet open voor verdere reacties.

peter16

Gebruiker
Lid geworden
2 dec 2000
Berichten
87
Hallo

Ik heb onderstaande Marko om in de kolommen G en K te kunnen zoeken zoeken.
De marko werkt goed als de makro wordt gestart terwijl ik ergens in de G-kolom sta. Sta ik echter op bijv A1 dan volgt een foutmelding mbt de range. Als ik dus de 5e regel (Range("G1").Select) toevoeg gaat het wel goed maar deze optie wil ik eigenlijk niet (ongewenst neveneffect). Wie weet wat ik niet goed doe of hoe het wel moet. Ik wil dus zoeken alleen in kolom G en K en startend vanaf de regel (cel) waar ik op dat moment sta.

Pebru

Sub zoeken()

On Error GoTo fout

Dim Zoekterm As String
Zoekterm = InputBox("Op welke zoekterm wilt u zoeken?")

' Range("G1").Select

Start:
Range("G:G,K:K").Find(what:=Zoekterm, After:=ActiveCell, LookIn:=xlValues, LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False) _
.Activate

Dim welniet As Integer
welniet = MsgBox("U zoekt op " + Chr(13) + Chr(13) + Zoekterm + Chr(13) + Chr(13) + _
"Wilt u naar de volgende?", vbYesNo)
If welniet = vbYes Then GoTo Start


Exit Sub
fout:
MsgBox "U zocht op: " + Chr(13) + Chr(13) + Zoekterm + Chr(13) + Chr(13) + _
"Deze zoekterm komt echter niet voor."
End Sub
 
volgens mij zit het in start:
Start:
Range("G:G,K:K").Find(what:=Zoekterm, After:=ActiveCell, LookIn:=xlValues, LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False) _
.Activate

de actieve cel is A1, misschien kun je daar een range("g1") aangeven?
heb het niet geprobeerd

Succes

René
 
Net niet helemaal de bedoeling

Als ik dat zou doen begint de macro altijd te zoeken vanaf G1 en dat wil ik nou net niet. Hij moet beginnen te zoeken vanaf de cel waar ik op dat moment sta.
 
Opgelost

Inderdaad Bernard dat bedoel ik.

Ik heb inmiddels een oplossing gevonden. Alhoewel ik het zelf omslachtig vind werkt deze wel. In deze zoekmacro zit tevens ingebouwd dat er een defaultwaarde wordt voorgesteld (default is de laatste gebruikte zoekterm).


Sub zoeken()

On Error GoTo fout

Dim Zoekterm As String
Dim Rijnummer As String
Dim Startcel As String
Rijnummer = ActiveCell.Row
Startcel = "G" + Rijnummer

Zoekterm = InputBox("Op welke zoekterm wilt u zoeken?", "Zoekopdracht", Range("a1").Value)

Range("A1").FormulaR1C1 = Zoekterm
Range(Startcel).Select

Start:
Range("G:G,K:K").Find(what:=Zoekterm, After:=ActiveCell, LookIn:=xlValues, LookAt:= _
xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False) _
.Activate


Dim welniet As Integer
welniet = MsgBox("U zoekt op " + Chr(13) + Chr(13) + Zoekterm + Chr(13) + Chr(13) + _
"Wilt u naar de volgende?", vbYesNo)
If welniet = vbYes Then GoTo Start

Exit Sub
fout:
MsgBox "U zocht op: " + Chr(13) + Chr(13) + Zoekterm + Chr(13) + Chr(13) + _
"Deze zoekterm komt echter niet voor."
End Sub


Pebru
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan