vorrei fermare una macro, chiamiamola TROVA, quando si verifica una condizione;
supponiamo di avere 100 righe, e di voler trovare un numero, ad esempio 325, nel range "G3:L103";
partendo dalla prima riga utile, la 3, cerco il numero 325;
supponiamo che si trovi alla riga 5;
memorizzo questo numero di riga: irows=5;
continuiamo con la ricerca dello stesso numero nelle righe successive;
supponiamo che successivamente il numero 325 si trovi alla riga 20;
memorizziamo anche questo numero di riga: frows=20
a questo punto fermiamo la macro TROVA in quanto deve intervenire una
altra macro che deve agire dalla riga 6 alla 20 nel range "G6:L20".
ho realizzato questa semplice macro:
- Codice: Seleziona tutto
Sub TROVA()
Dim RNG As Range
Dim wk As Workbook
Dim sh1 As Worksheet
Set wk = ThisWorkbook
With wk
Set sh1 = .Worksheets("Foglio1")
End With
sh1.Select
UR = Worksheets("Foglio1").Range("G" & Rows.Count).End(xlUp).Row
Worksheets("Foglio1").Range("G3:L" & UR).Interior.ColorIndex = xlNone
PR = 3
Set RNG = Worksheets("Foglio1").Range("G" & PR & ":L" & UR)
NUM = 325
For Each C In RNG
If C.Value = NUM Then
C.Interior.ColorIndex = 3
End If
Next C
Range("A2").Select
End Sub
è evidente che la macro continua la ricerca del numero fino alla fine del range.
come faccio a fermare la macro quando trova per la seconda volta lo stesso numero?
devo poi memorizzare, come detto in precedenza, i numeri di riga dove si trovano
i numeri cercati poichè tali numeri di riga verranno utilizzati dalla seconda macro.
a questo proposito ho pensato alla cell.address ma non sono riuscito a risolvere il problema.
grazie e saluti