Valutazione 4.87/ 5 (100.00%) 5838 voti

Condividi:        

MACRO

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

MACRO

Postdi Lucio Peruggini » 16/12/16 01:02

Ciao a tutti
Impiego moltissimo tempo manualmente rischiando anche di sbagliare e chiedo cortesemente una macro che risolverebbe in una frazione di secondi il lavoro che sto analizzando.
Premetto che non ho fretta e quindi quando potete! Anticipatamente ringrazio.

Nel foglio Excel allegato (range A8:A8107) ci sono numeri in ordine sparso da 1 a 90 e ognuno d’essi è presente 90 volte con novanta cinquine diverse l’una dall’atra (K8:O8107); cinquine scomposte e provenienti dalla colonna (E) con la formula che mi ha fatto l’utente “cromagno”.

I valori della colonna (A) sono sparsi perché dipendono dalla percentuale della colonna (D) che è messa in ordine crescente.

A partire dunque da A8 (numero 61), coloro la cinquina K:O.
A9 viene saltata poiché trattasi di un valore già fatto laddove abbiamo colorato anche la cinquina.
Segue A10 (numero 75) e si colora K:O.
In A11 abbiamo il valore (3) e coloriamo la cinquina.
Fino al valore (89) A19 non ci sono problemi e quindi si colora la cinquina ma, da A20 in poi e col (numero 37), sorge l’inghippo:

Non posso colorare la cinquina perché si tratta di una cinquina già presa in considerazione alla riga 10 col numero Spia 75 (A10) e quindi devo scorrere la colonna (A) fino a trovare un’altra cella contenente il numero 37 ma se anche questa ha una cinquina già presa, bisogna andare avanti finché ne trova una non ancora colorata in precedenza. Infatti, in A44 troviamo un altro 37 ma la cinquina è già stata colorata con la riga A8.
Il primo 37 utile con una cinquina diversa da quelle già colorate la troviamo in A326 e quindi si colora.
Stesso discorso per la cella A21 col numero 20 che non coloriamo perché già esistente alla riga 11 col numero (3) ma, subito dopo, in A22 vi è un altro 20; questa volta si può colorare poiché non ancora presa in considerazione.

Alla fine ci ritroveremo con 90 numeri della colonna (A) 1-90 non ordinati poiché seguono l’ordine della colonna (D) e con 90 cinquine diverse l’una dall’altra.

Mi rendo conto che il meccanismo da seguire è un po’ tortuoso ma, afferrato il concetto, penso non abbiate problemi di sorta; ammesso che prendiate in considerazione quanto gentilmente chiedo.

PS
Ne ho colorate 36 impiegando quasi quattro ore e senza una macro penso che lascerò perdere anche se onestamente non declino facilmente.

https://dl.dropboxusercontent.com/u/182 ... 0spia.xlsx


Grazie e buona giornata
Lucio P.
Versione Office - 2013
Lucio Peruggini
Utente Senior
 
Post: 896
Iscritto il: 24/01/11 16:23

Sponsor
 

Re: MACRO

Postdi Lucio Peruggini » 16/12/16 18:32

Ciao

Se la mia richiesta non è stata ancora presa in considerazione, avrei risolto diversamente.

Grazie molte
Lucio P.
Versione Office - 2013
Lucio Peruggini
Utente Senior
 
Post: 896
Iscritto il: 24/01/11 16:23

Re: MACRO

Postdi Flash30005 » 19/12/16 03:24

Si può fare di meglio ma è sempre più veloce dell'azione manuale
Codice: Seleziona tutto
Sub TrovaCinq()
'ActiveSheet.Range("$A$7:$O$8107").AutoFilter '<<<<< vedi nota
Range("G:G").ClearContents
Columns("K:O").Interior.Pattern = xlNone
Application.ScreenUpdating = False
Application.Calculation = xlManual
URA = Range("A" & Rows.Count).End(xlUp).Row
For RRA = 8 To URA - 1
ini:
If Range("G" & RRA).Value = "" Then
    CA = Range("E" & RRA)
    AA = Range("A" & RRA)
    For RRB = RRA + 1 To URA
        CB = Range("E" & RRB)
        AB = Range("A" & RRB)
        If CA = CB Or AA = AB Then
            Range("G" & RRB).Value = "-"
        End If
    Next RRB
    Range("K" & RRA & ":O" & RRA).Interior.Color = 5296274
    End If
goto ini:
Next RRA
'ActiveSheet.Range("$A$7:$O$8107").AutoFilter Field:=7, Criteria1:="="   '<<<<< vedi nota
    Application.Calculation = xlCalculationAutomatic
Application.ScreenUpdating = True
End Sub


Nota:
In colonna G avrai degli segni "-"
togliendo il commento inizio riga codice con '<<<<
avrai la filtratura con solo l'elenco dei 90 numeri

ciao
Flash
Win7 + Office 2010 Ita
"Fotografica" al servizio dell'immagine
Avatar utente
Flash30005
Moderatore
 
Post: 8502
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: MACRO

Postdi Anthony47 » 19/12/16 17:41

Se in un modo o nell'altro e' risolto in modo soddisfacente allora me ne sto' tranquillo; se invece....
Avatar utente
Anthony47
Moderatore
 
Post: 17656
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: MACRO

Postdi Flash30005 » 20/12/16 21:34

Se avessi saputo che la soluzione non sarebbe stata presa in considerazione
avrei impiegato il mio tempo diversamente
Flash
Win7 + Office 2010 Ita
"Fotografica" al servizio dell'immagine
Avatar utente
Flash30005
Moderatore
 
Post: 8502
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: MACRO

Postdi Lucio Peruggini » 21/01/17 19:52

Ciao Flash
Chiedo scusa, non mi ero accorto della macro che avevi postato.
Purtroppo problemi familiari mi hanno impedito e ancora tutt'ora, il proseguire qualunque genere di lavoro al PC.

Ringrazio tutti voi, ciao.
Lucio P.
Versione Office - 2013
Lucio Peruggini
Utente Senior
 
Post: 896
Iscritto il: 24/01/11 16:23


Torna a Applicazioni Office Windows


Topic correlati a "MACRO":


Chi c’è in linea

Visitano il forum: Nessuno e 63 ospiti