Pagina precedente | 1 | Pagina successiva
Vota | Stampa | Notifica email    
Autore

cercare nome in range di colonne variabili e applicare formula

Ultimo Aggiornamento: 11/05/2021 18:13
Post: 136
Registrato il: 10/04/2014
Città: TORINO
Età: 60
Utente Junior
2010
OFFLINE
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à: 60
Utente Junior
2010
OFFLINE
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
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à: 60
Utente Junior
2010
OFFLINE
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

Vota: 15MediaObject5,0014 1
Amministra Discussione: | Chiudi | Sposta | Cancella | Modifica | Notifica email Pagina precedente | 1 | Pagina successiva
Nuova Discussione
 | 
Rispondi
Cerca nel forum
Tag discussione
Discussioni Simili   [vedi tutte]
Feed | Forum | Bacheca | Album | Utenti | Cerca | Login | Registrati | Amministra
Tutti gli orari sono GMT+01:00. Adesso sono le 22:13. Versione: Stampabile | Mobile | Regolamento | Privacy
FreeForumZone [v.6.1] - Copyright © 2000-2024 FFZ srl - www.freeforumzone.com