Ricerca del numero di riga di una tabella con macro VBA

Anonimo
2023-04-09T07:06:33+00:00

Buongiorno,

in un foglio Excel, da A2 a D101 ho una seie di dati che riportano dati di vendita di ipotetici rappresentanti

Data Rappresentante Vendita

nella cella G2 effettuo la scelta del rappresentante e con la seguente macro riesco ad individuare il numero di riga che riporto nella cella J4 relativo all'ultima registrazione presente in tabella.

Option Explicit

Sub Ricerca_numero_riga()

Dim i As Integer
Dim numero_riga As Integer

For i = 101 To 2 Step -1
If Cells(i, 3) = Cells(2, 7).Value Then
numero_riga = i
Cells(4, 10) = i
Exit Sub
End If
Next i

Ho la necessità di indicare in cella G4 un numero (es. 2, 3, ...) che mi individua quante volte, a partire sempre dall'ultima riga della tabella, deve essere presente il nome del rappresentante e individuare il primo numero di riga.

Ringrazio

Microsoft 365 e Office | Excel | Per l'istruzione | Altro

Domanda bloccata. Questa domanda è stata eseguita dalla community del supporto tecnico Microsoft. È possibile votare se è utile, ma non è possibile aggiungere commenti o risposte o seguire la domanda.

0 commenti Nessun commento

Risposta accettata dall'autore della domanda

Eleuterio Tedeschi 18,590 Punti di reputazione Moderatore volontario
2023-04-09T14:15:55+00:00

Si, va bene. Ho scoperto il "mondo VBA" da quando sono in pensione e la passione mi sta prendendo sempre di più. Grazie per l'aiuto e buona Pasqua anche a te

Visto che stai studiando il codice, leggiti anche l'uso di Function in luogo delle Sub, nel tuo caso potrebbero tornarti utili, in quanto il codice è simile, ma puoi utilizzarne i risultati senza doverli necessariamente scrivere in una cella e, volendo, sono utilizzabili direttamente sul foglio come fossero delle funzioni di Excel.

Ciao e grazie del riscontro.

La risposta è stata utile?

1 persona ha trovato utile questa risposta.
0 commenti Nessun commento

Risposta accettata dall'autore della domanda

Eleuterio Tedeschi 18,590 Punti di reputazione Moderatore volontario
2023-04-09T13:54:57+00:00

se indico 1 voglio conoscere il numero dell'ultima riga con il nome del rappresentante prescelto, se indico 2 il numero di riga della seconda ricorrenza, sempre a partire dalla fine della tabella, se indico 3 la terza ricorrenza e così via

Prova così:

Sub Ricerca_numero_riga() 

Dim i As Integer 

Dim numero_riga As Integer, intF As Integer 

    For i = 101 To 2 Step -1 

        If Cells(i, 3).Value = [G2].Value Then 

            numero_riga = i 

            intF = intF + 1 

            If intF = [G4].Value Then 

                [J4].Value = numero_riga 

                Exit Sub 

            End If 

        End If 

    Next i 

    [J4].Value = CVErr(xlErrNum) ' numero_riga 

End Sub 

senza stravolgere il tuo codice, ho usato un'altra variabile per contare quante volte trova il tuo valore e dopo il ciclo For ho messo un'istruzione che ti restituisce errore #NUM! se non hai la corrispondenza richiesta (esempio metti 4 in G4, ma hai solo tre occorrenze), se invece vuoi l'ultimo numero di riga trovato, sostituisci con la variabile che ti ho commentato.

Se non è chiaro, chiedi pure,

ciao e buona Pasqua.

La risposta è stata utile?

1 persona ha trovato utile questa risposta.
0 commenti Nessun commento

7 risposte aggiuntive

Ordina per: Più utili
  1. Gianfranco55 25,190 Punti di reputazione Moderatore volontario
    2023-04-09T07:52:31+00:00

    ciao

    obbligatorio il vba o vanno bene anche le formule

    e che versione hai di excel

    La risposta è stata utile?

    0 commenti Nessun commento
  2. Anonimo
    2023-04-09T07:48:28+00:00

    se indico 1 voglio conoscere il numero dell'ultima riga con il nome del rappresentante prescelto, se indico 2 il numero di riga della seconda ricorrenza, sempre a partire dalla fine della tabella, se indico 3 la terza ricorrenza e così via

    La risposta è stata utile?

    0 commenti Nessun commento
  3. Gianfranco55 25,190 Punti di reputazione Moderatore volontario
    2023-04-09T07:37:38+00:00

    ciao

    che mi individua quante volte, a partire sempre dall'ultima riga della tabella, deve essere presente il nome del rappresentante

    che è presente o che deve essere..perchè per la prima è fattibile ma per la seconda lo sai solo tu.

    in pratica tu vuoi sapere la prima e l'ultima riga dove è presente il rappresentante

    diciamo la data più grande e la più piccola.

    o ho capito male

    La risposta è stata utile?

    0 commenti Nessun commento