Risultati da 1 a 23 di 23

Discussione: Formula più leggera



  1. #1
    L'avatar di Alessandro
    Clicca e Apri
    Data Registrazione
    Sep 2015
    Località
    Roma
    Età
    45
    Messaggi
    851
    Versione Office
    2010 64 bit
    Likes ricevuti
    113
    Likes dati
    61

    Formula più leggera

    Buongiorno a tutti,
    ho due tabelle un po pensanti (circa 300.000 righe ciascuna).
    Partendo dalla prima, devo controllare se sulla seconda ci sia o meno una discriminante.
    Ho pensato ad un cerca.vert ma poi forse un conta.se è più leggero.
    Ho detto una stupidaggine...conta.se non c'entra nulla...
    Qualche idea?
    ciao
    ale

  2. #2
    L'avatar di ninai
    Clicca e Apri
    Data Registrazione
    Jul 2015
    Località
    Barcellona P.G.
    Età
    55
    Messaggi
    1687
    Versione Office
    2010 PC
    Likes ricevuti
    899
    Likes dati
    185

    Re: Formula più leggera

    ciao
    dopo 290 messaggi, credi ancora che noi dovremmo capire e crearci la struttura , il ti po e consistenza di dati, capire cosa intendi per discriminante, trovare la soluzione, azzeccarla e mettere i risultati anche al posto giusto?????

    Ci sopravvaluti

    ----------Post unito in automatico----------

    cmq
    con 300000 righe e non so quante colonne, sento "puzza" di VBA
    Ultima modifica fatta da:Gerardo Zuccalà; 26/07/16 alle 13:24 Motivo: troppe faccine
    "So che spiegare il proprio problema, in modo comprensibile, richiede un certo impegno ed è un lavoro "palloso", ma qualcuno lo deve pur fare ....., indovina chi?" (Cit. "Scossa")

  3. #3
    L'avatar di Alessandro
    Clicca e Apri
    Data Registrazione
    Sep 2015
    Località
    Roma
    Età
    45
    Messaggi
    851
    Versione Office
    2010 64 bit
    Likes ricevuti
    113
    Likes dati
    61

    Re: Formula più leggera

    perdonami...
    hai perfettamente ragione ma ho sottovalutato tutte quelle info semplicemente perchè la questione è più semplice di quanto pensi.
    Anche se mi rendo conto che il sostenere "più semplice" è molto soggettivo.
    E inoltre (come giustamente dici) per risolvere una problematica solo con una lettura completa si può giungere al risultato.
    Anyway...
    Ho su foglio1 una tabella di 3 colonne
    e su foglio2 una tabella di 2 colonne
    Vorrei su foglio1 vedere se (a parità della col. A) nella col. B del foglio2 ci sia la scritta "kyk".
    Ti allego uno schizzo del foglio.
    scusa ancora per prima.
    ciao
    ale
    File Allegati File Allegati

  4. #4
    L'avatar di ninai
    Clicca e Apri
    Data Registrazione
    Jul 2015
    Località
    Barcellona P.G.
    Età
    55
    Messaggi
    1687
    Versione Office
    2010 PC
    Likes ricevuti
    899
    Likes dati
    185

    Re: Formula più leggera

    una delle formule alternative alla tua, potrebbe essere:
    =SE.ERRORE(INDICE(Foglio2!$B$1:$B$9;CONFRONTA(A2;Foglio2!$A$1:$A$9;0));"")
    ma non so se è più performante, puoi provarla.

    Inoltre, non mi è chiaro come hai fatto a capire che nel foglio2 vi è la scritta "KYK" con quel codice, essendo che con quello stesso codice vi è anche la scritta.
    "So che spiegare il proprio problema, in modo comprensibile, richiede un certo impegno ed è un lavoro "palloso", ma qualcuno lo deve pur fare ....., indovina chi?" (Cit. "Scossa")

  5. #5
    L'avatar di Raffaele_53
    Clicca e Apri
    Data Registrazione
    Dec 2015
    Località
    Binasco
    Età
    64
    Messaggi
    506
    Versione Office
    2007
    Likes ricevuti
    85
    Likes dati
    7

    Re: Formula più leggera

    Ciao a tutti
    >>>Vorrei su foglio1 vedere se (a parità della col. A)
    Forse intendevi a parità della col. B con la col. A
    Foglio1 = ContractNumber, AccountNumber
    Foglio2 = AccountNumber
    Sbaglio? Codice già fatto se Ti spieghi bene.

  6. #6
    L'avatar di Alessandro
    Clicca e Apri
    Data Registrazione
    Sep 2015
    Località
    Roma
    Età
    45
    Messaggi
    851
    Versione Office
    2010 64 bit
    Likes ricevuti
    113
    Likes dati
    61

    Re: Formula più leggera

    ragazzi vi avevo fatto un file al volo giusto per farvi capire la struttura.

  7. #7

    L'avatar di Rubik72
    Clicca e Apri
    Data Registrazione
    Dec 2015
    Località
    Cosenza
    Età
    45
    Messaggi
    2815
    Versione Office
    Excel 2013
    Likes ricevuti
    1024
    Likes dati
    982

    Re: Formula più leggera

    Prova con questa routine da associare ad un tasto (per esempio "AGGIORNA")

    Codice: 
    Sub Ricerca()
    Dim uRiga1 As Long
    Dim uRiga2 As Long
    Dim iRow As Long
    Dim inizio As Single
    Dim fine As Single
    
    
    inizio = Timer
    
    
    uRiga1 = Foglio1.Cells(Rows.Count, 1).End(xlUp).Row
    uRiga2 = Foglio2.Cells(Rows.Count, 1).End(xlUp).Row
    
    
    On Error Resume Next
    For iRow = 2 To uRiga1
        Foglio1.Cells(iRow, 4) = WorksheetFunction.VLookup(Foglio1.Cells(iRow, 1), Foglio2.Range("A2:B" & uRiga2), 2, 0)
    Next
    
    
    fine = Timer
    
    
    MsgBox fine - inizio
    
    
    End Sub
    Non dovrebbe essere molto lenta (sul mio PC impiega meno di 6 secondi per aggiornare 300.000 record), in compenso il file pesa pochissimo visto che non ci sono formule, solo dati


    Citazione Originariamente Scritto da ninai Visualizza Messaggio
    [...]con 300000 righe e non so quante colonne, sento "puzza" di VBA
    Vorrai dire "profumo"

  8. I seguenti utenti hanno dato un "Like"


  9. #8
    L'avatar di Alessandro
    Clicca e Apri
    Data Registrazione
    Sep 2015
    Località
    Roma
    Età
    45
    Messaggi
    851
    Versione Office
    2010 64 bit
    Likes ricevuti
    113
    Likes dati
    61

    Re: Formula più leggera

    Citazione Originariamente Scritto da Rubik72 Visualizza Messaggio
    Prova con questa ...
    hoi grazie...l'ho appena provata ma a meno che non ho modificato troppo (ma c'è ben poco da modificare) ma io 6 sec. me li sogno...per 240.000 record c'ho impiegato quasi 10 min....
    ora faccio altre prove...grazie di tutto.
    ciao
    ale
    Ultima modifica fatta da:Canapone; 17/05/17 alle 12:57

  10. #9
    L'avatar di Raffaele_53
    Clicca e Apri
    Data Registrazione
    Dec 2015
    Località
    Binasco
    Età
    64
    Messaggi
    506
    Versione Office
    2007
    Likes ricevuti
    85
    Likes dati
    7

    Re: Formula più leggera

    >>>vi avevo fatto un file al volo giusto per farvi capire la struttura.
    Ho visto la struttura, però c'è un errore (tranne la riga4)
    Tua formula =CERCA.VERT(A2;Foglio2!$A$1:$B$9;2;FALSO)
    Cerchi il valore di Col-A (del foglio1), nella Col-A foglio2 che non esiste.

    Pertanto sei Tu che devi dire cosa cerchi?
    Il ContractNumber oppure il AccountNumber?
    Ps. Se poi la struttura fosse simile non capisco cosa hai dovuto modificare al codice di Rubik72, perchè ritengo troppo il tempo Tuo.

  11. #10
    L'avatar di Raffaele_53
    Clicca e Apri
    Data Registrazione
    Dec 2015
    Località
    Binasco
    Età
    64
    Messaggi
    506
    Versione Office
    2007
    Likes ricevuti
    85
    Likes dati
    7

    Re: Formula più leggera

    Sicuramente sto sbagliando, mà se le due tabelle sono uguali come disposizione basterebbe un =SE(Foglio2!B2="kyk";"kyk";"")

    Ora il ciclo di Rubik72, lavora tutte le righe presenti ed a parte un Application.Calculation = xlCalculationManual non si può velocizzare

    Continuo a credere che il ciclo si deva fare tra B & A. Visto l'esempio e la parola "kyk" carente sul foglio2, ho fatto un codice all'incontrario.
    Oltre gli "obobri del comando goto", mi piacerebbe sapere l'opinione di esperti.
    I cicli sarebbero solo per le parole = "kyk" +1

    Codice: 
    Public riga As Long
    Sub verificaB()
    Dim Ur1, Ur2, X, Y, Area As Range, Rg As Object, Rr
    Ur1 = Sheets("Foglio1").Range("A" & Rows.Count).End(xlUp).Row
    'Sheets("Foglio1").Range("D2:D" & Ur1).ClearContents
    Set Area = Sheets("Foglio1").Range("B1:B" & Ur1)
    Ur2 = Sheets("Foglio2").Range("A" & Rows.Count).End(xlUp).Row
    Sheets("Foglio2").Range("B1").Activate
    Rr = 1
    Inizia:
        Sheets("Foglio2").Columns("B:B").Find(What:="kyk", After:=ActiveCell, LookIn:=xlFormulas, _
            LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
            MatchCase:=False, SearchFormat:=False).Activate
            riga = Selection.Row
        If Rr > riga Then GoTo Fine
        Set Rg = Area.Find(Sheets("Foglio2").Cells(riga, 1), LookIn:=xlValues, LookAt:=xlWhole)
        If Not Rg Is Nothing Then
            Sheets("Foglio1").Cells(Rg.Row, 4) = "kyk"
        End If
        Rr = riga
        GoTo Inizia
    Fine:
    Set Area = Nothing
    MsgBox "fatto"
    End Sub

  12. #11

    L'avatar di Rubik72
    Clicca e Apri
    Data Registrazione
    Dec 2015
    Località
    Cosenza
    Età
    45
    Messaggi
    2815
    Versione Office
    Excel 2013
    Likes ricevuti
    1024
    Likes dati
    982

    Re: Formula più leggera

    Forse ho capito male la richiesta.

    @Alessandro vuoi trovare solo il valore corrispondente a "kyk" oppure vuoi associare ogni "AccountNumber" del foglio1 ad ogni "AccountNumber" del foglio2 e scrivere nella cella adiacente il valore corrispondente?

  13. #12
    L'avatar di Alessandro
    Clicca e Apri
    Data Registrazione
    Sep 2015
    Località
    Roma
    Età
    45
    Messaggi
    851
    Versione Office
    2010 64 bit
    Likes ricevuti
    113
    Likes dati
    61

    Re: Formula più leggera

    ciao raffaele e grazie infinite per il tempo che ci stai perdendo.
    grazie anche a rubik e ninai ovviamente.
    gli equivoci che si sono verificati sono solo perchè avendo dei dati sensibili ho pensato bene di accorciare i discorsi e inviarvi copie ridotte.
    considerate che ho tolto tutti i valori sensibili, che l'ho fatto diventare da tabella a intervallo e che la query che c'era dietro l'ho tolta (sempre per i dati sensibili).
    nonostatne questo il tempo impiegato è sempre enorme.
    ha ragione infine rubik: quel mio cercare kyk era per la verità cercare MYRENT.
    Con il cerca.vert li cerco tutti e poi con una pivot mi vado a vedere solo i MYRENT ma ho voluto inserirvi cmq la discriminante di cercarne specificatamente solo uno perhcè ho pensato che magari c'era una qualche formula che mi sfuggiva che puntava subito all'obiettivo (non tanto nel mettere blanc per tutti le altre referenze quanto per alleggerire la formula)
    volevo inviarvi il file...ma anche riducendolo a 30/40.000 righe è sempre enorme...
    faccio altre prove.
    grazie ancora.
    ciao
    ale

  14. #13

    L'avatar di Rubik72
    Clicca e Apri
    Data Registrazione
    Dec 2015
    Località
    Cosenza
    Età
    45
    Messaggi
    2815
    Versione Office
    Excel 2013
    Likes ricevuti
    1024
    Likes dati
    982

    Re: Formula più leggera

    Citazione Originariamente Scritto da Raffaele_53 Visualizza Messaggio
    [...]
    Ora il ciclo di Rubik72, lavora tutte le righe presenti ed a parte un Application.Calculation = xlCalculationManual non si può velocizzare
    Ciao @Raffaele_53, disabilitare il calcolo automativo non avrebbe nessun effetto in quanto il foglio è privo di formule, in quanto usando Workshhet.Function.VLookUp scrive solo il risultato sotto forma di valore e non di formula


    Citazione Originariamente Scritto da Raffaele_53 Visualizza Messaggio
    [...]
    Oltre gli "obobri del comando goto", mi piacerebbe sapere l'opinione di esperti.
    I cicli sarebbero solo per le parole = "kyk" +1

    Codice: 
    Public riga As Long
    Sub verificaB()
    Dim Ur1, Ur2, X, Y, Area As Range, Rg As Object, Rr
    Ur1 = Sheets("Foglio1").Range("A" & Rows.Count).End(xlUp).Row
    'Sheets("Foglio1").Range("D2:D" & Ur1).ClearContents
    Set Area = Sheets("Foglio1").Range("B1:B" & Ur1)
    Ur2 = Sheets("Foglio2").Range("A" & Rows.Count).End(xlUp).Row
    Sheets("Foglio2").Range("B1").Activate
    Rr = 1
    Inizia:
        Sheets("Foglio2").Columns("B:B").Find(What:="kyk", After:=ActiveCell, LookIn:=xlFormulas, _
            LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
            MatchCase:=False, SearchFormat:=False).Activate
            riga = Selection.Row
        If Rr > riga Then GoTo Fine
        Set Rg = Area.Find(Sheets("Foglio2").Cells(riga, 1), LookIn:=xlValues, LookAt:=xlWhole)
        If Not Rg Is Nothing Then
            Sheets("Foglio1").Cells(Rg.Row, 4) = "kyk"
        End If
        Rr = riga
        GoTo Inizia
    Fine:
    Set Area = Nothing
    MsgBox "fatto"
    End Sub
    Ci sono alcune cose che non mi sono chiare:
    1) perché dichiari Riga a livello Modulo e non nella routine?
    2) se fai partire la routine dal Foglio1 questa riga da errore:
    Codice: 
    Sheets("Foglio2").Range("B1").Activate
    3) la routine a me va in Loop in quanto Rr non è mai maggiore di Riga
    Codice: 
    If Rr > riga Then GoTo Fine
    Io avrei fatto queste modifiche:
    Codice: 
    Sub VerificaC()
    Dim Ur1
    Dim Ur2
    Dim Area1 As Range
    Dim Area2  As Range
    Dim Rg As Object
    Dim c As Object
    Dim firstAddress As String
    
    
    Ur1 = Sheets("Foglio1").Range("A" & Rows.Count).End(xlUp).Row
    Sheets("Foglio1").Range("D2:D" & Ur1).ClearContents
    Set Area1 = Sheets("Foglio1").Range("B1:B" & Ur1)
    Ur2 = Sheets("Foglio2").Range("A" & Rows.Count).End(xlUp).Row
    Set Area2 = Sheets("Foglio2").Range("B1:B" & Ur2)
        
        Set c = Area2.Find(What:="kyk", _
                LookIn:=xlValues, _
                LookAt:=xlWhole)
        
        If Not c Is Nothing Then
            Set Rg = Area1.Find(c.Offset(, -1), _
                LookIn:=xlValues, _
                LookAt:=xlWhole)
            If Not Rg Is Nothing Then
                firstAddress = Rg.Address
                Do
                    Rg.Offset(, 2) = "kyk"
                    Set Rg = Area1.FindNext(Rg)
                Loop While Not Rg Is Nothing And Rg.Address <> firstAddress
            End If
        End If
        
    Set Area1 = Nothing
    Set Area2 = Nothing
    MsgBox "fatto"
    End Sub

  15. #14
    L'avatar di Alessandro
    Clicca e Apri
    Data Registrazione
    Sep 2015
    Località
    Roma
    Età
    45
    Messaggi
    851
    Versione Office
    2010 64 bit
    Likes ricevuti
    113
    Likes dati
    61

    Re: Formula più leggera

    Ragazzi...l'ultima di rubik è senza dubbio la più veloce...ma c'è un ma: mi si ferma alla prima referenza. In teoria ne dovrebbe trovare 8...
    E' possibile fare una modifica?
    da quel che leggo qui
    http://renato7.altervista.org/WP/range-find/
    forse è da cambiare strada....
    grazie.
    ciao
    ale

  16. #15

    L'avatar di Rubik72
    Clicca e Apri
    Data Registrazione
    Dec 2015
    Località
    Cosenza
    Età
    45
    Messaggi
    2815
    Versione Office
    Excel 2013
    Likes ricevuti
    1024
    Likes dati
    982

    Re: Formula più leggera

    Citazione Originariamente Scritto da Alessandro Visualizza Messaggio
    Ragazzi...l'ultima di rubik è senza dubbio la più veloce...ma c'è un ma: mi si ferma alla prima referenza. In teoria ne dovrebbe trovare 8...
    E' possibile fare una modifica.
    grazie.
    ciao
    ale
    Intendi dire che cerca solo tutti i valori "kyk"?

  17. #16
    L'avatar di Alessandro
    Clicca e Apri
    Data Registrazione
    Sep 2015
    Località
    Roma
    Età
    45
    Messaggi
    851
    Versione Office
    2010 64 bit
    Likes ricevuti
    113
    Likes dati
    61

    Re: Formula più leggera

    Citazione Originariamente Scritto da Rubik72 Visualizza Messaggio
    Intendi dire che cerca solo tutti i valori "kyk"?
    scusa non avevo visto la tua risposta...intendo dire che cerca si quel "kyk" ma una volta che ne trova uno si ferma...mentre io ho più contractnumber che soddisfano questa ricerca.
    ciao
    ale

  18. #17

    L'avatar di Rubik72
    Clicca e Apri
    Data Registrazione
    Dec 2015
    Località
    Cosenza
    Età
    45
    Messaggi
    2815
    Versione Office
    Excel 2013
    Likes ricevuti
    1024
    Likes dati
    982

    Re: Formula più leggera

    Puoi postare un file con circa 100 record ed il risultato da te richiesto scritto a mano?

  19. #18
    L'avatar di Alessandro
    Clicca e Apri
    Data Registrazione
    Sep 2015
    Località
    Roma
    Età
    45
    Messaggi
    851
    Versione Office
    2010 64 bit
    Likes ricevuti
    113
    Likes dati
    61

    Re: Formula più leggera

    Allego il file originale (senza dati sensibili) con sole 120 righe con all'interno la tua macro rivista in base ai veri nomi foglio e colonne.
    se provi a far girare la macro vedrai che si ferma al solo primo codice senza trovare gli altri.
    ciao
    ale
    File Allegati File Allegati

  20. #19

    L'avatar di Rubik72
    Clicca e Apri
    Data Registrazione
    Dec 2015
    Località
    Cosenza
    Età
    45
    Messaggi
    2815
    Versione Office
    Excel 2013
    Likes ricevuti
    1024
    Likes dati
    982

    Re: Formula più leggera

    Prova con questa modifica:
    Codice: 
    Sub VerificaD()
    Dim Ur1
    Dim Ur2
    Dim Area1 As Range
    Dim Area2  As Range
    Dim Rg As Object
    Dim c As Object
    Dim iRow As Long
    Dim firstAddress As String
    
    
    Ur1 = Sheets("PFolio").Range("A" & Rows.Count).End(xlUp).Row
    Sheets("PFolio").Range("G2:G" & Ur1).ClearContents
    Set Area1 = Sheets("PFolio").Range("C1:C" & Ur1)
    Ur2 = Sheets("Service Cover").Range("A" & Rows.Count).End(xlUp).Row
    Set Area2 = Sheets("Service Cover").Range("B1:B" & Ur2)
        
    For iRow = 2 To Ur2
        If Sheets("Service Cover").Cells(iRow, 2) = "MYRENT" Then
            Set c = Sheets("Service Cover").Cells(iRow, 2)
        
            Set Rg = Area1.Find(c.Offset(, -1), _
                LookIn:=xlValues, _
                LookAt:=xlWhole)
            If Not Rg Is Nothing Then
                firstAddress = Rg.Address
                Do
                    Rg.Offset(, 4) = "MYRENT"
                    Set Rg = Area1.FindNext(Rg)
                Loop While Not Rg Is Nothing And Rg.Address <> firstAddress
            End If
        End If
    Next
    Set Area1 = Nothing
    Set Area2 = Nothing
    
    
    Set c = Nothing
    Set Rg = Nothing
    
    
    MsgBox "fatto"
    End Sub

  21. I seguenti 2 utenti hanno dato un "Like" a Rubik72 per questo post:


  22. #20
    L'avatar di Alessandro
    Clicca e Apri
    Data Registrazione
    Sep 2015
    Località
    Roma
    Età
    45
    Messaggi
    851
    Versione Office
    2010 64 bit
    Likes ricevuti
    113
    Likes dati
    61

    Re: Formula più leggera

    è ottima...e pensare che all'inizio ti stavo scrivendo che non andava...
    non avevo calcolato che uno stesso contract poteva avere più referenze e che il mio cerca.vert avrebbe preso solo la prima non prendendo le altre.
    poi andandomi a leggere il tuo vba ho visto che partivi dalle service cover e non combaciandomi i dati ho capito l'anomalia.
    complimenti davvero...
    ottima e veloce.
    ciao
    ale

  23. #21
    L'avatar di Raffaele_53
    Clicca e Apri
    Data Registrazione
    Dec 2015
    Località
    Binasco
    Età
    64
    Messaggi
    506
    Versione Office
    2007
    Likes ricevuti
    85
    Likes dati
    7

    Re: Formula più leggera

    Giornata nera per me, spero d'aver risolto i problemi.

    @Rubik72
    >>>disabilitare il calcolo automativo non avrebbe nessun effetto
    OK nell'allegato, però mi sembrava strano Tu 6secondi e Lui 10minuti

    >>>perché dichiari Riga a livello Modulo e non nella routine?
    Quando avrai i miei anni e sarai anche in "menopausa mentalmente" lo saprai.
    Era per un'altro fabbisogno, in questo caso si può mettere all'interno.

    >>>se fai partire la routine dal Foglio1
    OK visto, da foglio2 tutto OK
    Provo settando "Set = ....FoglioX", lo fà pure (brutta ancora la vecchiaia)

    >>>la routine a me va in Loop in quanto Rr non è mai maggiore di Riga
    Questo non lo puoi dire (almeno credo) se non mi fai un esempio.
    EDIT certo che lo sarà quando ritorna nella prima cella trovata EDIT
    A me come l'altro "fabbisogno" funziona. Però vedo che l'utente ha cambiato le carte in tavola e se volete lo rifaccio. Solo per vedere "chì è più veloce"

    Ps. (GOTO = "obobri"), non dici nulla?

  24. #22
    L'avatar di Raffaele_53
    Clicca e Apri
    Data Registrazione
    Dec 2015
    Località
    Binasco
    Età
    64
    Messaggi
    506
    Versione Office
    2007
    Likes ricevuti
    85
    Likes dati
    7

    Re: Formula più leggera

    Ho ricontrollato il codice per sicurezza
    Aggiunto >>>Dim riga As Long + 2 righe, usando il metodo poco ortodosso dei GOTO + Sheets("Service Cover").Activate
    Aggiustato i riferimenti in base all'ultimo allegato

    Su 120 record, il mio codice fà solo 8 operazioni
    Anche quello di Rubik72 fà solo 8 operazioni, però cicla 120 righe

    Codice: 
    Sub verificaB()
    Dim Ur1, Ur2, X, Y, Area As Range, Rg As Object, Rr
    Dim riga As Long
    Ur1 = Sheets("PFolio").Range("A" & Rows.Count).End(xlUp).Row
    Sheets("PFolio").Range("g2:g" & Ur1).ClearContents
    Set Area = Sheets("PFolio").Range("C1:C" & Ur1)
    Ur2 = Sheets("Service Cover").Range("A" & Rows.Count).End(xlUp).Row
    Sheets("Service Cover").Activate
    Sheets("Service Cover").Range("B1").Activate
    'Rr = 1
    Inizia:
        Sheets("Service Cover").Columns("B:B").Find(What:="MYRENT", After:=ActiveCell, LookIn:=xlFormulas, _
            LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
            MatchCase:=False, SearchFormat:=False).Activate
            riga = Selection.Row
        If Rr > riga Then GoTo Fine
        Set Rg = Area.Find(Sheets("Service Cover").Cells(riga, 1).Value, LookIn:=xlValues, LookAt:=xlWhole)
        If Not Rg Is Nothing Then
            X = X + 1 'aggiunta
            Sheets("PFolio").Cells(Rg.Row, 7) = "MYRENT"
            MsgBox X & "° ciclo, agisco sulla riga " & riga & " ,scrivo in PFolio, riga " & Rg.Row 'aggiunta
        End If
        Rr = riga
        GoTo Inizia
    Fine:
    Set Area = Nothing
    MsgBox "fatto"
    End Sub

  25. #23

    L'avatar di Rubik72
    Clicca e Apri
    Data Registrazione
    Dec 2015
    Località
    Cosenza
    Età
    45
    Messaggi
    2815
    Versione Office
    Excel 2013
    Likes ricevuti
    1024
    Likes dati
    982

    Re: Formula più leggera

    Citazione Originariamente Scritto da Raffaele_53 Visualizza Messaggio
    [...]
    Ps. (GOTO = "obobri"), non dici nulla?
    Solitamente non uso molti goto in una routine, al loro posto si potrebbe usare il ciclo Do...Loop

Discussioni Simili

  1. cambiare formula o aggiungere formula in più celle ed in pagine diverse
    Di prof84 nel forum Domande su Excel in generale
    Risposte: 2
    Ultimo Messaggio: 11/07/16, 20:34

Permessi di Scrittura

  • Tu non puoi inviare nuove discussioni
  • Tu non puoi inviare risposte
  • Tu non puoi inviare allegati
  • Tu non puoi modificare i tuoi messaggi
  •