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

Waar is rFoundCell ?

Status
Niet open voor verdere reacties.

hahaHans

Gebruiker
Lid geworden
24 jan 2006
Berichten
46
Deze makro zoekt naar cellen waarin de zoekstring staat, als deel of als gehele inhoud van die cel. Een voorwaarde is dat de actieve cel op het moment dat de makro start binnen het bereik (= hier A3:Z1000) zit.Elke keer dat de makro aangeroepen wordt, zoekt hij naar de volgende cel waarin de zoekstring staat. En dat is precies wat ik wil.

HTML:
Sub Find_volgende()
'Deze routine vind en kleurt telkens de volgende plaats waar de zoekstring gevonden wordt.
On Error Resume Next
Dim lCount As Long
rFoundCell.Select
  Set rFoundCell = Range("A3:Z1000").Find(What:=Range("I1"), After:=ActiveCell, _
  LookIn:=xlValues, Lookat:=xlPart, SearchOrder:=xlByRows, _
  SearchDirection:=xlNext, MatchCase:=False, SearchFormat:=False)
  If rFoundCell <> "" Then
    rFoundCell.Interior.ColorIndex = 6
  End If
  rFoundCell.Select
  On Error GoTo 0
End Sub

Maar ik wil ook dat de makro het nummer van de kolom waarin de laatst gevonden cel staat in cel J1 en het nummer van de rij van de laatst gevonden cel in cel K1 zet. Hoe doe ik dat?
 
Code:
Sub Find_volgende()
'Deze routine vind en kleurt telkens de volgende plaats waar de zoekstring gevonden wordt.
On Error Resume Next
Dim lCount As Long
rFoundCell.Select
  Set rFoundCell = Range("A3:Z1000").Find(What:=Range("I1"), After:=ActiveCell, _
  LookIn:=xlValues, Lookat:=xlPart, SearchOrder:=xlByRows, _
  SearchDirection:=xlNext, MatchCase:=False, SearchFormat:=False)
  If rFoundCell <> "" Then
    rFoundCell.Interior.ColorIndex = 6
[B]    Range("J1").Value = rFoundCell.Column
    Range("K1").Value = rFoundCell.Row[/B]
  End If
  rFoundCell.Select
  On Error GoTo 0
End Sub

Met vriendelijke groet,


Roncancio
 
Als je de kolomletter wilt hebben dan kan je het zo doen:
Vervang:
Code:
    Range("J1").Value = rFoundCell.Column

..door ...

Code:
    Range("J1").Value = Chr(64 + rFoundCell.Column)

Met vriendelijke groet,


Roncancio
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan