Valutazione 4.87/ 5 (100.00%) 5838 voti

Condividi:        

vba excel: determinare riga dopo find

Vuoi potenziare i tuoi documenti Word? Non sai come si fa una macro in Excel? Devi creare una presentazione in PowerPoint?
Oppure sei passato a OpenOffice e non sei sicuro di come lavorare al meglio?

Moderatori: Anthony47, Flash30005

vba excel: determinare riga dopo find

Postdi karug64 » 01/09/16 23:37

Salve a tutti.

Uso questo codice per cercare una parola in una colonna

Codice: Seleziona tutto
If compl <> "" Then
                  Set rng = Sheets(dovecerco).Range("A:A").Find(What:=compl, LookIn:=xlValues, LookAt:=xlWhole)
                            If Not rng Is Nothing Then
                                    ' trovata
                                Else
                                    ' Non trovata
                                End If
                        End If


se la ricerca va a buon fine avrei bisogno di sapere qual'è la riga in cui la stessa ha prodotto l'effetto positivo in modo tale da poter scrivere un valore nella riga trovata ma nella colonna "B"

Come ricavo la coordinata della riga ?

Grazie
Office 2010
karug64
Utente Senior
 
Post: 580
Iscritto il: 20/11/11 21:22

Sponsor
 

Re: vba excel: determinare riga dopo find

Postdi Marius44 » 02/09/16 06:32

Ciao
nel codice che hai postato inserisci al posto di 'trovata queste due righe
Codice: Seleziona tutto
indirizzo = Split(Rng.Address, "$")
riga = indirizzo(2)

Nella variabile riga il numero della riga.

Prova e fai sapere. Ciao,
Mario
Marius44
Utente Senior
 
Post: 140
Iscritto il: 07/09/15 22:00

Re: vba excel: determinare riga dopo find

Postdi karug64 » 03/09/16 11:38

Intanto ti ringrazio anche se in ritardo.
Ho provato la soluzione da te proposta ma mi da errore nella riga:

Codice: Seleziona tutto
riga = indirizzo(2)


Errore:
Prevista matrice

Grazie
Office 2010
karug64
Utente Senior
 
Post: 580
Iscritto il: 20/11/11 21:22

Re: vba excel: determinare riga dopo find

Postdi Marius44 » 03/09/16 12:30

Ciao
ecco il codice che ho utilizzato per provare (forse l'errore è mio nel comunicarti riga invece di rg)
Codice: Seleziona tutto
Sub riga()
nome = Range("D1").Text
With Worksheets(1).Range("A1:A9000")
    Set c = .Find(nome, LookIn:=xlValues)
    If Not c Is Nothing Then
        firstAddress = c.Address
        indirizzo = Split(firstAddress, "$")
        rg = indirizzo(2)
    End If
End With
Stop
End Sub


Riprova e fai sapere. Ciao,
Mario
Marius44
Utente Senior
 
Post: 140
Iscritto il: 07/09/15 22:00

Re: vba excel: determinare riga dopo find

Postdi Anthony47 » 05/09/16 02:04

Propongo questa possibile semplificazione:
Codice: Seleziona tutto
    Set Rng = Sheets(dovecerco).Range("A:A").Find(What:=compl, LookIn:=xlValues, LookAt:=xlWhole)
    If Not Rng Is Nothing Then
        'cerca l'indirizzo della cella da modificare:
        myb = Rng.Offset(0, 1).Address          'myB contiene l'indirizzo della cella

        'oppure usa direttamente:
        Rng.Offset(0, 1).Value = NuovoValore    'Usi Rng.Offset per puntare e mudificare la cella
    Else
        'cosa fare se non trovata
    End If


Ciao!
Anthony
Win7 + Office 2010 Ita; Win 7 + Office 2013 Ita
Xp + Office 2003 Ita
E voi cosa usate? (per istruzioni vedere viewtopic.php?f=26&t=97449)
Avatar utente
Anthony47
Moderatore
 
Post: 13885
Iscritto il: 21/03/06 16:03
Località: Ivrea


Torna a Applicazioni Office Windows


Topic correlati a "vba excel: determinare riga dopo find":


Chi c’è in linea

Visitano il forum: patel, saxas e 11 ospiti