Valutazione 4.87/ 5 (100.00%) 5838 voti

Condividi:        

Excel: Formula o 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

Re: Excel: Formula o macro

Postdi Lucio Peruggini » 27/02/11 00:53

Semplicemente SUPERBO!!!!!!!!

Solo, vorrei inserire gli asterischi in colonna "E" poiché questi ambi li devo poi raggruppare e con tanti colori avrei qualche difficoltà. Come faccio?

Infinitamente grazie per quanto avete fatto.
Lucio P.
Versione Office - 2013
Lucio Peruggini
Utente Senior
 
Post: 890
Iscritto il: 24/01/11 16:23

Sponsor
 

Re: Excel: Formula o macro

Postdi Anthony47 » 27/02/11 01:52

Righe modificate:
Codice: Seleziona tutto
'...
            Cells(I, 4).Interior.ColorIndex = KC: Cells(I, 5) = "*" & KK
            Cells(KK, 4).Interior.ColorIndex = KC: Cells(KK, 5) = "*" & I
'...
            Cells(I, 4).Interior.ColorIndex = KC: Cells(I, 5) = "*" & KK
            Cells(KK, 4).Interior.ColorIndex = KC: Cells(KK, 5) = "*" & I
'...
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: 13899
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Excel: Formula o macro

Postdi Lucio Peruggini » 27/02/11 11:49

Ciao Antony e buona domenica

Forse sono stato troppo precipitoso: se la cosa è fattibile, si potrebbe evidenziare il tutto con un solo colore? Eviteri, così, di aggiungere altre colonne.

Ho provato la stessa macro su di un altra ricerca che, nella fattispecie, anziché avere gli ambi ha solamente numeri singoli.
Mi da errore "9" Indice non incluso nell'intervallo ( If NumABI(0) = NumABK(0) And NumABI(1) = NumABK(1) Then ); è possibile farla lavorare anche in questo foglio?

Codice: Seleziona tutto
3950   Spia   Ba   68
3950   Spia   Ba   22
3950   Spia   Ba   78
3950   Spia   Ba   60
3950   Spia   Ba   58
3950   Spia   Ca   18
3950   Spia   Ca   71
3950   Spia   Ca   4
3950   Spia   Ca   5
3950   Spia   Ca   66
3950   Spia   Fi   40
3950   Spia   Fi   10
3950   Spia   Fi   72
3950   Spia   Fi   71
3950   Spia   Fi   28
3950   Spia   Ge   17
3950   Spia   Ge   16
3950   Spia   Ge   3
3950   Spia   Ge   54
3950   Spia   Ge   52
3950   Spia   Mi   79
3950   Spia   Mi   82
3950   Spia   Mi   84
3950   Spia   Mi   23
3950   Spia   Mi   90
3950   Spia   Na   27
3950   Spia   Na   55
3950   Spia   Na   2
3950   Spia   Na   26
3950   Spia   Na   11
3950   Spia   Pa   63
3950   Spia   Pa   68
3950   Spia   Pa   45
3950   Spia   Pa   37
3950   Spia   Pa   38
3950   Spia   Ro   5
3950   Spia   Ro   64
3950   Spia   Ro   24
3950   Spia   Ro   51
3950   Spia   Ro   12
3950   Spia   To   35
3950   Spia   To   1
3950   Spia   To   3
3950   Spia   To   41
3950   Spia   To   17
3950   Spia   Ve   16
3950   Spia   Ve   24
3950   Spia   Ve   88
3950   Spia   Ve   90
3950   Spia   Ve   77
3951   Spia   Ba   60
3951   Spia   Ba   77
3951   Spia   Ba   28
3951   Spia   Ba   72
3951   Spia   Ba   43
3951   Spia   Ca   80
3951   Spia   Ca   16
3951   Spia   Ca   72
3951   Spia   Ca   50
3951   Spia   Ca   36
3951   Spia   Fi   60
3951   Spia   Fi   15
3951   Spia   Fi   6
3951   Spia   Fi   63
3951   Spia   Fi   29
3951   Spia   Ge   34
3951   Spia   Ge   60
3951   Spia   Ge   59
3951   Spia   Ge   63
3951   Spia   Ge   13
3951   Spia   Mi   87
3951   Spia   Mi   13
3951   Spia   Mi   20
3951   Spia   Mi   8
3951   Spia   Mi   59
3951   Spia   Na   24
3951   Spia   Na   52
3951   Spia   Na   35
3951   Spia   Na   64
3951   Spia   Na   33
3951   Spia   Pa   34
3951   Spia   Pa   60
3951   Spia   Pa   40
3951   Spia   Pa   68
3951   Spia   Pa   59
3951   Spia   Ro   42
3951   Spia   Ro   8
3951   Spia   Ro   19
3951   Spia   Ro   83
3951   Spia   Ro   75
3951   Spia   To   73
3951   Spia   To   49
3951   Spia   To   21
3951   Spia   To   16
3951   Spia   To   20
3951   Spia   Ve   36
3951   Spia   Ve   20
3951   Spia   Ve   63
3951   Spia   Ve   56
3951   Spia   Ve   34


Forse i ringraziamenti non sono mai abbastanza, saluti.
Intanto provo questa modifica con gli asterischi.
Lucio P.
Versione Office - 2013
Lucio Peruggini
Utente Senior
 
Post: 890
Iscritto il: 24/01/11 16:23

Re: Excel: Formula o macro

Postdi Lucio Peruggini » 27/02/11 12:11

Ho provato l'aggiunta per l'asterisco ma, oltre al simbolo medesimo, mi scrive anche un numero.
Codice: Seleziona tutto
3951   Spia   Fi   15.29   
3951   Spia   Fi   15.63   
3951   Spia   Fi   60.06   
3951   Spia   Fi   60.15   
3951   Spia   Fi   60.29   
3951   Spia   Fi   60.63   *139
3951   Spia   Fi   63.29   
3951   Spia   Ge   34.13   
3951   Spia   Ge   34.59   *162
3951   Spia   Ge   34.60   *163
3951   Spia   Ge   34.63   *199
3951   Spia   Ge   59.13   *144
3951   Spia   Ge   59.63   
3951   Spia   Ge   60.13   
3951   Spia   Ge   60.59   *168
3951   Spia   Ge   60.63   *129
3951   Spia   Ge   63.13   
3951   Spia   Mi   08.59   
3951   Spia   Mi   13.08   
3951   Spia   Mi   13.20   
3951   Spia   Mi   13.59   *135
3951   Spia   Mi   20.08   
3951   Spia   Mi   20.59   
3951   Spia   Mi   87.08   

Codice: Seleziona tutto
           If NumABI(0) = NumABK(0) And NumABI(1) = NumABK(1) Then
            Cells(I, 4).Interior.ColorIndex = KC: Cells(I, 5) = "*" & KK
            Cells(KK, 4).Interior.ColorIndex = KC: Cells(KK, 5) = "*" & I
            KC = KC + 1
        Else
        If NumABI(0) = NumABK(1) And NumABI(1) = NumABK(0) Then
            Cells(I, 4).Interior.ColorIndex = KC: Cells(I, 5) = "*" & KK
            Cells(KK, 4).Interior.ColorIndex = KC: Cells(KK, 5) = "*" & I
            KC = KC + 1
        End If
        End If
Lucio P.
Versione Office - 2013
Lucio Peruggini
Utente Senior
 
Post: 890
Iscritto il: 24/01/11 16:23

Re: Excel: Formula o macro

Postdi Anthony47 » 27/02/11 13:23

Ho provato l'aggiunta per l'asterisco ma, oltre al simbolo medesimo, mi scrive anche un numero.
L' ho fatto apposta: e' la riga dove trovi il suo gemello.
Se ti da fastidio modifica le parti "*" & KK e "*" & I in "*"

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: 13899
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Excel: Formula o macro

Postdi Lucio Peruggini » 27/02/11 15:03

L'intuizione è giusta, potrebbe far comodo; solamente che il numero dovrebbe essere uguale per l'ambo in questione.
Vedi tabella:

L'ambo 67.05 nel primo ha numero (286); nel secondo (254); stesso discorso per l'altro ambo "05.83".

Codice: Seleziona tutto
3952   Spia   Ba   18.42   
3952   Spia   Ba   18.59   
3952   Spia   Ba   18.71   
3952   Spia   Ba   28.18   
3952   Spia   Ba   28.42   
3952   Spia   Ba   28.59   
3952   Spia   Ba   28.71   
3952   Spia   Ba   42.71   
3952   Spia   Ba   59.42   
3952   Spia   Ba   59.71   
3952   Spia   Ca   07.13   
3952   Spia   Ca   48.07   
3952   Spia   Ca   48.13   
3952   Spia   Ca   87.07   
3952   Spia   Ca   87.13   
3952   Spia   Ca   87.48   
3952   Spia   Ca   87.88   
3952   Spia   Ca   88.07   
3952   Spia   Ca   88.13   
3952   Spia   Ca   88.48   
3952   Spia   Fi   65.53   
3952   Spia   Fi   65.86   
3952   Spia   Fi   75.53   
3952   Spia   Fi   75.65   
3952   Spia   Fi   75.86   
3952   Spia   Fi   75.88   
3952   Spia   Fi   86.53   
3952   Spia   Fi   88.53   
3952   Spia   Fi   88.65   
3952   Spia   Fi   88.86   
3952   Spia   Ge   43.73   
3952   Spia   Ge   43.80   
3952   Spia   Ge   43.83   
3952   Spia   Ge   73.80   
3952   Spia   Ge   73.83   
3952   Spia   Ge   76.43   
3952   Spia   Ge   76.73   
3952   Spia   Ge   76.80   
3952   Spia   Ge   76.83   
3952   Spia   Ge   80.83   
3952   Spia   Mi   10.41   
3952   Spia   Mi   10.83   
3952   Spia   Mi   38.10   
3952   Spia   Mi   38.41   
3952   Spia   Mi   38.65   
3952   Spia   Mi   38.83   
3952   Spia   Mi   65.10   
3952   Spia   Mi   65.41   
3952   Spia   Mi   65.83   
3952   Spia   Mi   83.41   
3952   Spia   Na   05.71   
3952   Spia   Na   62.05   
3952   Spia   Na   62.71   
3952   Spia   Na   67.05   *286
3952   Spia   Na   67.62   
3952   Spia   Na   67.71   
3952   Spia   Na   83.05   *273
3952   Spia   Na   83.62   
3952   Spia   Na   83.67   
3952   Spia   Na   83.71   
3952   Spia   Pa   39.58   
3952   Spia   Pa   41.39   
3952   Spia   Pa   41.47   
3952   Spia   Pa   41.51   
3952   Spia   Pa   41.58   
3952   Spia   Pa   47.39   
3952   Spia   Pa   47.58   
3952   Spia   Pa   51.39   
3952   Spia   Pa   51.47   
3952   Spia   Pa   51.58   
3952   Spia   Ro   05.32   
3952   Spia   Ro   05.66   
3952   Spia   Ro   05.83   *257
3952   Spia   Ro   05.90   
3952   Spia   Ro   66.32   
3952   Spia   Ro   66.83   
3952   Spia   Ro   66.90   
3952   Spia   Ro   83.32   
3952   Spia   Ro   90.32   
3952   Spia   Ro   90.83   
3952   Spia   To   05.04   
3952   Spia   To   08.04   
3952   Spia   To   08.05   
3952   Spia   To   08.76   
3952   Spia   To   67.04   
3952   Spia   To   67.05   *254
3952   Spia   To   67.08   
3952   Spia   To   67.76   
3952   Spia   To   76.04   
3952   Spia   To   76.05   
3952   Spia   Ve   11.35   
3952   Spia   Ve   11.39   
3952   Spia   Ve   11.62   
3952   Spia   Ve   11.74   
3952   Spia   Ve   35.39   
3952   Spia   Ve   35.62   
3952   Spia   Ve   35.74   
3952   Spia   Ve   39.74   
3952   Spia   Ve   62.39   
3952   Spia   Ve   62.74   



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

Re: Excel: Formula o macro

Postdi Lucio Peruggini » 27/02/11 15:35

Chiedo venia, rettifico quanto detto.

In realtà, questa macro trova già in ogni estrazione gli ambi che tu hai indicato come "gemelli"; questo termine non è sbagliato. Questi ambi, però, hanno un termine più appropriato: trattasi di ambi "bivalenti" o "trivalenti" qualora sono tre ambi uguali anche se invertiti e in una medesima estrazione. Or dunque, la macro compie perfettamente questo lavoro sia con i colori che con il solo asterisco.

La mia domanda precedente era un altra: "Si applicare un medesimo colore?"

L'altra cosa che mi premeva era quella di adottare la medesima macro con dei numeri singoli uguali (vedi tabella inserita precedentemente). Trattasi sempre di isocronismi (valori uguali su ruote diverse). Grazie
Lucio P.
Versione Office - 2013
Lucio Peruggini
Utente Senior
 
Post: 890
Iscritto il: 24/01/11 16:23

Re: Excel: Formula o macro

Postdi Anthony47 » 27/02/11 23:50

Ti prego, non spiegarmi la terminologia del lotto: sono refrattario.
Mi pare che rano rimaste inevase un paio di domande di qualche post fa…
1) Applicare un medesimo colore

2) lavorare anche su un solo numero in col D

Per la 1, se vuoi usare sempre lo stesso colore allora elimina l' incremento di KC; cioe' invece di KC = KC + 1 metti KC = KC + 0 (scritto cosi' e' un promemoria nel caso che volessi reintrodurre la prestazione; in 2 posizioni).

Per la 2, in realta' per questo funzionerebbe una prima versione di macro, precedente a quella che ho poi pubblicato, che grosso modo faceva questo:
-inseriva una colonna accanto alla D
-metteva in D-E i due numeri presenti in D
-faceva i calcoli ed evidenziava le celle "gemelle"
-ripristinava in D le coppie di numeri
-eliminava la col E

Questo approccio funziona automaticamente anche con un solo numero in colonna D, ed e' anche piu' veloce di quella precedente (che avevo preferito perche' meno invasiva):
Codice: Seleziona tutto
Option Base 1
Option Explicit

Sub Spera()
Dim MatrBck
Dim MatrEstr
Dim MatrNumA
Dim MatrNumB
Dim LRCod As Long, UBCod As Long
Dim Debg As Boolean
Dim I As Long, JJ As Long, CJJ As Long, KC As Integer, KK As Long
Dim CEstr As Long

'Debg = True        '<<<< Userebbe M2:M5 per il timer
Sheets("Foglio2").Select
'
If Debg Then Range("TStart").Resize(5, 1).ClearContents
If Debg Then Range("TStart") = Timer
LRCod = Cells(Rows.Count, 1).End(xlUp).Row
'Application.ScreenUpdating = False
'Range("Z1:Z" & LRCod).ClearContents
MatrBck = Range("D1:D" & LRCod)
Columns("D:D").Interior.ColorIndex = xlNone
Columns("E:E").Select
    Selection.Insert Shift:=xlToRight
Columns("D:D").Select
    Selection.TextToColumns Destination:=Range("D1"), DataType:=xlDelimited, _
        TextQualifier:=xlDoubleQuote, Other:=True, OtherChar _
        :=".", FieldInfo:=Array(Array(1, 2), Array(2, 2)), TrailingMinusNumbers:=True
Range("D1").Select

'MatrEstr = Range("a1:a" & LRCod)
UBCod = UBound(MatrBck, 1)
MatrNumA = Range("D1:D" & LRCod)
MatrNumB = Range("E1:E" & LRCod)
JJ = 1
Do
CEstr = Cells(JJ, 1)
KC = 4
CJJ = Application.WorksheetFunction.CountIf(Range("A1:A" & LRCod), CEstr & "")
For I = JJ To JJ - 1 + CJJ
    For KK = I + 1 To JJ - 1 + CJJ
        If MatrNumA(I, 1) = MatrNumA(KK, 1) And MatrNumB(I, 1) = MatrNumB(KK, 1) Then
            Cells(I, 4).Resize(1, 2).Interior.ColorIndex = KC: Cells(I, 6) = "*" & KK
            Cells(KK, 4).Resize(1, 2).Interior.ColorIndex = KC: Cells(KK, 6) = "*" & I
            KC = KC + 0
        Else
        If MatrNumA(I, 1) = MatrNumB(KK, 1) And MatrNumB(I, 1) = MatrNumA(KK, 1) Then
            Cells(I, 4).Resize(1, 2).Interior.ColorIndex = KC: Cells(I, 6) = "*" & KK
            Cells(KK, 4).Resize(1, 2).Interior.ColorIndex = KC: Cells(KK, 6) = "*" & I
            KC = KC + 0
        End If
        End If
    Next KK
Next I
JJ = JJ + CJJ
If JJ >= LRCod Then Exit Do
Loop
If Debg Then Range("TStop") = Timer
Range("D1:D" & LRCod) = MatrBck
Columns("E:E").Delete Shift:=xlToLeft
Range("D1").Select
Application.ScreenUpdating = True
MsgBox ("Completato")
End Sub

Per quanto riguarda il marker in col E, quello che ho messo io e' un cross index (il primo punta al secondo, il secondo al primo); vuoi invece un contatore di coppie, in modo che i gemelli abiano la stessa numerazione? Se SI (dipende da cosa devi farci con questo marker), allora al posto di "*" & I modifica in "*" & KK (2 posizioni)
In questo modo il marker conterra' il numero di riga dell' ultimo dei gemelli trovati.

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: 13899
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Excel: Formula o macro

Postdi Lucio Peruggini » 28/02/11 00:38

Anthony47 ha scritto:Ti prego, non spiegarmi la terminologia del lotto: sono refrattario.


Ciao Anthony, scusami ma non era affatto mia intenzione spiegarti le varie terminologie ma, poiché siamo in un forum laddove altri leggono, mi era parsa giusta la precisazione; niente di più.

Ok, proverò le varie soluzioni; ancora grazie.
Lucio P.
Versione Office - 2013
Lucio Peruggini
Utente Senior
 
Post: 890
Iscritto il: 24/01/11 16:23

Re: Excel: Formula o macro

Postdi Lucio Peruggini » 28/02/11 17:21

E' tutto OK!

Quest'ultima macro in minuti è più veloce. Come sempre, grazie.
Lucio P.
Versione Office - 2013
Lucio Peruggini
Utente Senior
 
Post: 890
Iscritto il: 24/01/11 16:23

Precedente

Torna a Applicazioni Office Windows


Topic correlati a "Excel: Formula o macro":


Chi c’è in linea

Visitano il forum: Nessuno e 5 ospiti