Pagina precedente | 1 | Pagina successiva
Vota | Stampa | Notifica email    
Autore

Excel numeri uguali

Ultimo Aggiornamento: 16/02/2022 12:00
Post: 24
Registrato il: 04/01/2004
Città: TREVISO
Utente Junior
2007
OFFLINE
11/02/2022 10:50

Ciao, chiedo agli esperti di formule, se possibile avere una formula che faccia quanto segue:

Nel foglio 1 ci sono delle celle di colore diverso. Quello che vorrei io è riuscire a colorare le celle che abbiano almeno
una coppia di numeri uguali.
Faccio esempio: Nella griglia di colore giallo c'è una coppia 89-90 stessa coppia è presente nella griglia di colore grigio
89-90 a questo punto dovrebbero essere colorate in rosso entrambe le coppie.
Spero in un vostro aiuto e ringrazio
Allego file
Post: 984
Registrato il: 24/06/2015
Città: CATANIA
Età: 80
Utente Senior
Excel2019
OFFLINE
12/02/2022 23:29

Ciao
In base all'esempio postato non credo possa farsi con formule ma occorre VBA. Prova con la seguente macro (da assegnare ad un pulsante Modulo, non ActiveX)
Sub Colore()
Dim area1 As Range, area2 As Range
Dim i As Long, j As Long, h As Long, k As Long
Dim x1 As String, x2 As String, x3 As String
Dim y1 As String, y2 As String, y3 As String
Dim cn As Integer
Set area1 = Range("B3:D7")
Set area2 = Range("E3:G7")
area1.Interior.ColorIndex = 6
area2.Interior.ColorIndex = 15
For i = 3 To 7
  For j = 2 To 3
    x1 = Cells(i, j) & Cells(i, j + 1)
    x2 = Cells(i, j) & Cells(i, j + 2)
    x3 = Cells(i, j + 1) & Cells(i, j + 2)
    For h = 3 To 7
      For k = 5 To 6
        y1 = Cells(h, k) & Cells(h, k + 1)
        y2 = Cells(h, k) & Cells(h, k + 2)
        y3 = Cells(h, k + 1) & Cells(h, k + 2)
        If x1 = y1 Then
          'quadro1 1a e 2a uguale a quadro2 1a e 2a
          Cells(i, j).Interior.ColorIndex = 3
          Cells(i, j + 1).Interior.ColorIndex = 3
          Cells(h, k).Interior.ColorIndex = 3
          Cells(h, k + 1).Interior.ColorIndex = 3
        ElseIf x1 = y2 Then
          'quadro1 1a e 2a uguale a quadro2 1a e 3a
          Cells(i, j).Interior.ColorIndex = 3
          Cells(i, j + 1).Interior.ColorIndex = 3
          Cells(h, k).Interior.ColorIndex = 3
          Cells(h, k + 2).Interior.ColorIndex = 3
        ElseIf x1 = y3 Then
          'quadro1 1a e 2a uguale a quadro2 2a e 3a
          Cells(i, j).Interior.ColorIndex = 3
          Cells(i, j + 1).Interior.ColorIndex = 3
          Cells(h, k + 1).Interior.ColorIndex = 3
          Cells(h, k + 2).Interior.ColorIndex = 3
        ElseIf x2 = y1 Then
          'quadro1 1a e 3a uguale a quadro 2 1a e 2a
          Cells(i, j).Interior.ColorIndex = 3
          Cells(i, j + 2).Interior.ColorIndex = 3
          Cells(h, k).Interior.ColorIndex = 3
          Cells(h, k + 1).Interior.ColorIndex = 3
        ElseIf x2 = y2 Then
          'quadro1 1a e 3a uguale quadro2 1a e 3a
          Cells(i, j).Interior.ColorIndex = 3
          Cells(i, j + 2).Interior.ColorIndex = 3
          Cells(h, k).Interior.ColorIndex = 3
          Cells(h, k + 2).Interior.ColorIndex = 3
        'quadro1 2a e 3a 0guale a quadro2 1a e 2a
        ElseIf x3 = y1 Then
          'quadro1 2a e 3a uguale a quadro2 1a e 2a
          Cells(i, j + 1).Interior.ColorIndex = 3
          Cells(i, j + 2).Interior.ColorIndex = 3
          Cells(h, k).Interior.ColorIndex = 3
          Cells(h, k + 1).Interior.ColorIndex = 3
        ElseIf x3 = y3 Then
          'quadro1 2a e 3a uguale a quadro2 2a e 3a
          Cells(i, j + 1).Interior.ColorIndex = 3
          Cells(i, j + 2).Interior.ColorIndex = 3
          Cells(h, k + 1).Interior.ColorIndex = 3
          Cells(h, k + 2).Interior.ColorIndex = 3
        End If
      Next k
    Next h
  Next j
Next i
End Sub



Fai sapere. Ciao,
Mario
Post: 24
Registrato il: 04/01/2004
Città: TREVISO
Utente Junior
2007
OFFLINE
13/02/2022 11:19

Ciao Marius44, Ok provo
Grazie infinite
Post: 25
Registrato il: 04/01/2004
Città: TREVISO
Utente Junior
2007
OFFLINE
13/02/2022 11:33

Ho creato la macro con il tuo vba
Ti allego il file
ho creato il tasto, ma non vedo la colorazione, es. dell'ambo 63-68
[Modificato da saxson 13/02/2022 11:34]
Post: 26
Registrato il: 04/01/2004
Città: TREVISO
Utente Junior
2007
OFFLINE
13/02/2022 15:05

Dopo vari tentativi, sembra funzionare, però c'è un problemino
evidenzia l'ambo ripetuto solo se nella stessa posizione, ti faccio un esempio.
l'ambo ripetuto 1-2 è nella stessa posizione, come anche l'ambo 45-46.
Mentre l'ambo 87-86 non viene evidenziato perchè il primo è inserito 87-86 mentre l'altro 86-87.
Ti allego il file.
Grazie comunque della gentilezza.
Post: 985
Registrato il: 24/06/2015
Città: CATANIA
Età: 80
Utente Senior
Excel2019
OFFLINE
13/02/2022 15:11

Ciao
Se ho capito bene devi "raddoppiare" le condizioni (cioè gli If) scambiando la posizione.

Ciao,
Mario
Post: 27
Registrato il: 04/01/2004
Città: TREVISO
Utente Junior
2007
OFFLINE
13/02/2022 15:25

non si considera la posizione ma la doppia coppia di numeri uguali.
Post: 28
Registrato il: 04/01/2004
Città: TREVISO
Utente Junior
2007
OFFLINE
13/02/2022 16:24

scusa Marius44, come si fa a raddoppiare gli if ?
Post: 986
Registrato il: 24/06/2015
Città: CATANIA
Età: 80
Utente Senior
Excel2019
OFFLINE
13/02/2022 21:27

Ciao
Sostituisci la precedente con questa
Option Explicit

Sub Ambo()
Dim i As Long, j As Long
Dim rig1 As Range, rig2 As Range, c As Range, x As Range, area1 As Range, area2 As Range
Dim n As Integer, h As Integer, a As Integer, clr As Integer
Dim pos(1 To 4) As String
Set area1 = Range("B3:D7")
Set area2 = Range("E3:G7")
area1.Interior.ColorIndex = 19
area2.Interior.ColorIndex = 15
clr = 2
For i = 3 To 7
  Set rig1 = Range("B" & i & ":D" & i)
  For j = 3 To 7
    Set rig2 = Range("E" & j & ":G" & j)
    n = 0: a = 0
    For Each c In rig1
      For Each x In rig2
        If c.Value = x.Value Then
          n = n + 1
          a = a + 1
          pos(a) = c.Address
          a = a + 1
          pos(a) = x.Address
          If n = 2 Then
            clr = clr + 1
            For h = 1 To 4
              Range(pos(h)).Interior.ColorIndex = clr
            Next h
          End If
        End If
      Next
    Next
  Next j
Next i
End Sub


Ciao,
Mario
Post: 29
Registrato il: 04/01/2004
Città: TREVISO
Utente Junior
2007
OFFLINE
14/02/2022 01:04

Ciao Mario, direi ottimo
Grazie infinite
Post: 30
Registrato il: 04/01/2004
Città: TREVISO
Utente Junior
2007
OFFLINE
15/02/2022 11:14

Ciao Mario, vorrei se possibile che questo tuo listato
in origine operava nelle celle B3:D7 e E3:G7.

Vorrei che Potesse fare la stessa cosa per altre celle creando poi un solo tasto.
le celle da coinvolgere nel tuo listato sono :
B15:D19 e E15:G19
I15:K19 e L15:N19
O15:Q19 e R15:T19
U15:W19 e X15:Z19
AA15:AC19 e AD15:AF19
AG15:AI19 e AJ15:AL19
AM15:AO19 e AP15:AR19
AS15:AU19 e AV15:AX19
AY15:BA19 e BB15:BD19
BE15:BG19 e BH15:Bj19
BK15:BM19 e BN15:BP19
Grazie infinite qualunque sia la tua risposta.


[Modificato da saxson 15/02/2022 11:17]
Post: 987
Registrato il: 24/06/2015
Città: CATANIA
Età: 80
Utente Senior
Excel2019
OFFLINE
16/02/2022 08:58

Ciao
Non so quale è il tuo gradi conoscenza di VBA.
Ti avverto, però, che Excel e VBA non possono andare a "tentoni". Occorre sapere PRIMA quale è l'obiettivo e, di conseguenza, tentare le strade possibili per raggiungere il risultato. Se si cambia, specie in corsa, l'obiettivo, il castello costruito crolla e bisogna costruirne uno nuovo.

Tutto ciò premesso, nella mia ultima macro nota le righe n. 14 e n. 16. Come vedi "settano" due intervalli e poi combinano le varie celle dell'uno con le diverse celle dell'altro. Prova tu a sostituire uno degli intervalli con quel po' po' di roba che hai detto! Mi sembra qualcosa fuori dall'ordinario.

Aggiungo che sono pronto ad aiutare chi ha bisogno ma non sono disponibile a "fare" un lavoro di sana pianta per altri. Per questo ci sono fior di professionisti che, pagandoli, fanno tutto quello che vuoi.

Ciao,
Mario
Post: 31
Registrato il: 04/01/2004
Città: TREVISO
Utente Junior
2007
OFFLINE
16/02/2022 09:52

Ciao, ti ringrazio comunque .
Proverò a modificare le due righe, come mi hai indicato tu.
Post: 32
Registrato il: 04/01/2004
Città: TREVISO
Utente Junior
2007
OFFLINE
16/02/2022 12:00

Ciao Mario, volevo dirti che nonostante la mia scarsissima preparazione nella programmazione.
Grazie al tuo suggerimento sono riuscito a fare quello che mi serviva.
In pratica ho copiato ed incollato x 11 volte il tuo Vba modificando le righe che tu gentilmente mi hai detto, creando un tasto per ogni Vba.
Grazie ancora
[Modificato da saxson 16/02/2022 12:01]
Vota: 15MediaObject5,00214 2
Amministra Discussione: | Chiudi | Sposta | Cancella | Modifica | Notifica email Pagina precedente | 1 | Pagina successiva
Nuova Discussione
 | 
Rispondi
Cerca nel forum
Tag discussione
Discussioni Simili   [vedi tutte]
Excel numeri negativi (3 messaggi, agg.: 12/03/2018 19:19)
Excel trova numeri (3 messaggi, agg.: 26/03/2018 15:56)
excel sommare se (3 messaggi, agg.: 22/07/2019 19:17)
Evidenziare i numeri ripetuti excel (5 messaggi, agg.: 06/01/2018 09:23)
Excel conta numeri (3 messaggi, agg.: 04/03/2018 15:43)
Feed | Forum | Bacheca | Album | Utenti | Cerca | Login | Registrati | Amministra
Tutti gli orari sono GMT+01:00. Adesso sono le 14:10. Versione: Stampabile | Mobile | Regolamento | Privacy
FreeForumZone [v.6.1] - Copyright © 2000-2024 FFZ srl - www.freeforumzone.com