| | Post: 136 | Registrato il: 10/04/2014
| Città: TORINO | Età: 61 | Utente Junior | 2010 | | OFFLINE | |
|
![](https://im4.freeforumzone.it/up/44/15/2256816705.png) 11/05/2021 11:20 | |
bungiorno
io ho fatto un'operazione in cui se in colonna J trova la parola pippo prosegue e fa altro.
poi ho la stessa sub applicata alla colonne M.
nel file che sto utilizzando ho accodato le due sub per arrivare al risultato finale e va bene
qualcuno mi sa dire come devo correggere invece il file per vedere se riesco a fare il tutto con una sub unica
quindi la sub dovrebbe fare se nell'area variabile colonne J ed M trovi la parola pippo procedi con la moltiplicazione
Spero di essere stato chiaro
|
|
| | Post: 136 | Registrato il: 10/04/2014
| Città: TORINO | Età: 61 | Utente Junior | 2010 | | OFFLINE | |
|
![](https://im4.freeforumzone.it/up/44/15/2256816705.png) 11/05/2021 11:26 | |
Scusate ma è molto che non scrivo e non ricome mettere il codice dentro il tag
ur = Range("j" & Rows.Count).End(xlUp).Row ' conta le righe
For r = 1 To ur
If Foglio1.Range("j1", "m" & r).Value = "pippo" Then
in pratica per iniziare avrei bisogno di una correzione/spiegazione sulla riga IF Fogli che non è scritta in modo corretto
grazie
|
|
![](https://im4.freeforumzone.it/up/44/15/2256816705.png) 11/05/2021 18:02 | |
>>>If Range("j1", "m" & r) = "pippo" Then
Non può controllare diverse celle insieme, poi se ci fosse "pippo" in J3 e pure in M3?
Crei una sub per la colonna J e una per la M, dopo le accodi una dopo l'altra.
Ci fossero tante righe..., userei un'altro metodo con FIND Sub pippo2()
Dim Ur As Long, y As Long, x As Long, N As Long, Rr As Long
Dim Ob As Object
If Range("J" & Rows.Count).End(xlUp).Row >= Range("M" & Rows.Count).End(xlUp).Row Then Ur _
= Range("J" & Rows.Count).End(xlUp).Row Else Ur = Range("M" & Rows.Count).End(xlUp).Row
For y = 10 To 13 Step 3
N = Application.WorksheetFunction.CountIf(Range(Cells(1, y), Cells(Ur, y)), "pippo")
Set Ob = Range(Cells(1, y), Cells(Ur, y)).Find("pippo", After:=Cells(1, y), SearchDirection:=xlNext)
For x = 1 To N
Rr = Ob.Row
Cells(Rr + 3, y) = Cells(Rr + 1, y) * 5
Cells(Rr + 3, y).Font.ColorIndex = 3
Set Ob = Range(Cells(Rr, y), Cells(Ur, y)).FindNext
Next x
Next y
Set Ob = Nothing
MsgBox "Fatto"
End Sub |
| | Post: 137 | Registrato il: 10/04/2014
| Città: TORINO | Età: 61 | Utente Junior | 2010 | | OFFLINE | |
|
![](https://im4.freeforumzone.it/up/44/15/2256816705.png) 11/05/2021 18:13 | |
gentilissimo
io avevo fatto come suggerito accondando le due sub per la colonna J e la colonna M, ma non essendo un espertissimo di VBA pensavo fosse un mio limite
Grazie per la disponibilità
Alla prossima e buona serata
|
|
|