Valutazione 4.87/ 5 (100.00%) 5838 voti

Condividi:        

Macro Excel 2007 Colora celle

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 Excel 2007 Colora celle

Postdi M@rtyn@ » 16/04/14 14:27

Ciao a tutti, ho bisogno di aiuto per tradurre in VBA questa cosa:
Cerca il valore di "A1" nel range "B2:BD4" colora di 65535 A1 e di 255 le celle con lo stesso valore (A1 va colorato di giallo anche se non si trovano celle uguali)
Preferibilmente una macro così posso inserire il codice nel mio, se mi scrivete una formula dovreste spiegarmi come inserirla in una macro. :D
xp con Excel 2007
windows 8 con excel 2013
M@rtyn@
Utente Junior
 
Post: 88
Iscritto il: 02/03/11 21:03

Sponsor
 

Re: Macro Excel 2007 Colora celle

Postdi ricky53 » 16/04/14 16:35

Ciao,
che versione di Office utilizzi?
Come te la cavi con il VBA e la programmazione?

A quali colori corrispondono "colora di 65535 A1 e di 255 le celle ..."?
Dice il vecchio saggio provare e riprovare è l'unica strada per imparare

Più chiara è la vostra spiegazione
Più immediata sarà la nostra soluzione


. . . . . . . . . .
S.O. W7; Office 2003-10-13-16
Avatar utente
ricky53
Utente Senior
 
Post: 4223
Iscritto il: 11/04/09 19:29
Località: Italia

Re: Macro Excel 2007 Colora celle

Postdi M@rtyn@ » 16/04/14 17:45

Ciao, uso office 2007 (Titolo)
i colori sono giallo e rosso(ma vanno bene tutti, tanto riesco a cambiarli), a "programmare" me la cavo tra manuali forum e registratore, più che a programmare sono capace ad adattare.
Diciamo che ormai so tante cosine ma ancora non riesco a metterle insieme dal nulla, per esempio in questo caso ho cercato "macro excel find value in range" e qui trovo l'ostacolo della lingua, visto che la mia seconda è il francese e con questo tipo di ricerca mi esce tutto in inglese , per ironia della sorte capisco meglio il codice del testo.
xp con Excel 2007
windows 8 con excel 2013
M@rtyn@
Utente Junior
 
Post: 88
Iscritto il: 02/03/11 21:03

Re: Macro Excel 2007 Colora celle

Postdi ricky53 » 17/04/14 11:16

Ciao,
non l'avevo visto, di solito cerco la versione nella FIRMA !!!

Hai già scritto qualche riga di codice?

Gli intervalli e le celle cui hai fatto riferimento scrivendo il tuo intervento sono quelle effettive?
Dice il vecchio saggio provare e riprovare è l'unica strada per imparare

Più chiara è la vostra spiegazione
Più immediata sarà la nostra soluzione


. . . . . . . . . .
S.O. W7; Office 2003-10-13-16
Avatar utente
ricky53
Utente Senior
 
Post: 4223
Iscritto il: 11/04/09 19:29
Località: Italia

Re: Macro Excel 2007 Colora celle

Postdi ricky53 » 17/04/14 11:42

Ciao,
perchè "A1" va colorata di GIALLO anche se nell'intervallo in analisi non ci sono celle con il suo stesso valore ???

tanto per gradire
Codice: Seleziona tutto
Option Explicit

Sub Trova_Uguali()
    Dim Trovato As Integer, I As Integer, J As Integer, Riga As Integer, Colonna As Integer
   
    Trovato = 0
    Riga = 24
    Colonna = 55 ' Corrisponde alla colonna "BD"
    Range("A1").Interior.ColorIndex = xlNone ' <<====== Toglie i colori dello sfondo
    Range(Cells(2, "B"), Cells(Riga, Colonna)).Interior.ColorIndex = xlNone ' <<====== Toglie i colori dello sfondo
    For I = 2 To Riga ' <<==== Cicla sulle righe
        For J = 2 To Colonna ' <<==== Cicla sulle colonne
            If Cells(I, J) = Range("A1") Then
                Trovato = Trovato + 1
                Cells(I, J).Interior.ColorIndex = 3 ' <<===== ROSSO nelle celle con lo stesso valore della cella "A1"
            End If
        Next J
    Next I
    If Trovato > 0 Then
        Range("A1").Interior.ColorIndex = 6 ' <<===== GIALLO in "A1"
        MsgBox "Trovate:   '" & Trovato & "'   celle con lo stesso valore della cella 'A1", vbInformation
    Else
        MsgBox "NON sono state trovate celle con lo stesso valore della cella 'A1", vbCritical
    End If
    Range("A1").Select
End Sub



Il codice è commentato ... prova e sono QUI
Dice il vecchio saggio provare e riprovare è l'unica strada per imparare

Più chiara è la vostra spiegazione
Più immediata sarà la nostra soluzione


. . . . . . . . . .
S.O. W7; Office 2003-10-13-16
Avatar utente
ricky53
Utente Senior
 
Post: 4223
Iscritto il: 11/04/09 19:29
Località: Italia

Re: Macro Excel 2007 Colora celle

Postdi M@rtyn@ » 17/04/14 14:09

Ciao
-Gli intervalli sono solo indicativi, poi io li cambio in base al confronto che mi serve fare, (infatti ho cambiato"A1"con "B1"perché avevo sbagliato a scrivere.
-Coloro di giallo la cella di riferimento per la ricerca così mi basta un'occhiata per capire di cosa si tratta e evito di dare nomi lunghi e simili ai fogli che poi mi confondo.
-Nella tua macro ho cambiato Riga=24 con Riga=4 perché invece che nel range "B2:BD4" faceva la ricerca nel range "B2:BD24"
- Ho provato a cambiare la tua macro per avviarla ogni 4 righe con For w = 1 To 1835 Step 4/ Next w ma ho ottenuto solo di far sfarfallare le caselle.
(Com'é che questa cosa "For contatore = inizio To fine [Step incremento]"funziona o non funziona a seconda di come è scritta la macro?)
-Ho commentato i msgBox perché se riuscivo ad avviarla ogni 4 righe diventavo scema. (La prossima volta li lascio per scaramanzia)

Codice: Seleziona tutto
Sub Trova_Uguali()
    Dim I As Integer, J As Integer, Riga As Integer, Colonna As Integer
   For w = 1 To 1835 Step 4
    'Trovato = 0
    Riga = 4
    Colonna = 55 ' Corrisponde alla colonna "BD"
    Range("B1").Interior.ColorIndex = xlNone ' <<====== Toglie i colori dello sfondo
    Range(Cells(2, "B"), Cells(Riga, Colonna)).Interior.ColorIndex = xlNone ' <<====== Toglie i colori dello sfondo
    For I = 2 To Riga ' <<==== Cicla sulle righe
        For J = 2 To Colonna ' <<==== Cicla sulle colonne
            If Cells(I, J) = Range("B1") Then
               ' Trovato = Trovato + 1
                Cells(I, J).Interior.ColorIndex = 3 ' <<===== ROSSO nelle celle con lo stesso valore della cella "B1"
            End If
        Next J
    Next I
    'If Trovato > 0 Then
        Range("B1").Interior.ColorIndex = 6 ' <<===== GIALLO in "B1"
        'MsgBox "Trovate:   '" & Trovato & "'   celle con lo stesso valore della cella 'B1", vbInformation
   ' Else
        'MsgBox "NON sono state trovate celle con lo stesso valore della cella 'B1", vbCritical
    'End If
    Range("B1").Select
 Next w

End Sub
xp con Excel 2007
windows 8 con excel 2013
M@rtyn@
Utente Junior
 
Post: 88
Iscritto il: 02/03/11 21:03

Re: Macro Excel 2007 Colora celle

Postdi ricky53 » 17/04/14 14:23

Ciao,

per il "24" avevo letto male l'intervallo.

Hai messo male gli "apici" !!!
L'indice "w" del tuo nuovo "CICLO For/Next" non viene utilizzato !!!
Perchè hai tolto la variabile "Trovato ?

Cosa effettivamente vuoi fare ogni "4" righe ???
Dice il vecchio saggio provare e riprovare è l'unica strada per imparare

Più chiara è la vostra spiegazione
Più immediata sarà la nostra soluzione


. . . . . . . . . .
S.O. W7; Office 2003-10-13-16
Avatar utente
ricky53
Utente Senior
 
Post: 4223
Iscritto il: 11/04/09 19:29
Località: Italia

Re: Macro Excel 2007 Colora celle

Postdi M@rtyn@ » 17/04/14 14:51

Perché male? La scritta è diventata verde e i msgBox non funzionano più non sono sbagliati, sono anticonvenzionali!
Ho tolto la variabile trovato perché ho provato a spostarla in fondo alla riga e commentarla ma mi dava errore.Pensavo servisse solo per i msgBox.
Sono rientrata per provare a usare I al posto di w nel For/Next perché se rappresenta le righe per te magari è così gentile da farlo anche per me.
Non ho mai capito come funziona l' indice nel For/Next di solito ci metto una lettera a caso a volte funziona a volte no ora che ci penso forse dovevo dichiararla come variabile.
Mentre tu finisci di ridere io vado a fare i miei tentativi.
xp con Excel 2007
windows 8 con excel 2013
M@rtyn@
Utente Junior
 
Post: 88
Iscritto il: 02/03/11 21:03

Re: Macro Excel 2007 Colora celle

Postdi M@rtyn@ » 17/04/14 15:33

Niente di fatto, prima non ho risposto alla tua domanda su cosa volevo fare ogni quattro righe, ricerca e colori perciò direi tutto.
xp con Excel 2007
windows 8 con excel 2013
M@rtyn@
Utente Junior
 
Post: 88
Iscritto il: 02/03/11 21:03

Re: Macro Excel 2007 Colora celle

Postdi ricky53 » 17/04/14 15:51

Ciao,
be ridere un po' SI .. me lo concedi?
Per il ciclo una qualunque variabile va bene ma DEVE essere utilizzata nel ciclo (nel mio esempio in Cells(I, J)) per far scorrere le righe o le colonne.
Nel mio esempio "I" scorreva le ... ed "J" scorreva le ...
Leggi il mio codice e lo capisci (a parte che è pure commentato)


Andiamo al sodo: tu cosa vuoi fare?
Descrivi meglio la tua esigenza (a parole) e la traduciamo in codice.
Dice il vecchio saggio provare e riprovare è l'unica strada per imparare

Più chiara è la vostra spiegazione
Più immediata sarà la nostra soluzione


. . . . . . . . . .
S.O. W7; Office 2003-10-13-16
Avatar utente
ricky53
Utente Senior
 
Post: 4223
Iscritto il: 11/04/09 19:29
Località: Italia

Re: Macro Excel 2007 Colora celle

Postdi M@rtyn@ » 17/04/14 18:44

Ciao,
io adesso vorrei prendere il tuo codice senza la parte msgBox, suddividere le righe a blocchi di 4 e in ogni blocco usare il codice.

Il mio problema è che per usare le mie scorciatoie avrei bisogno del Range "B1:BD4" in riferimento relativo: mi sembra che il modo che hai usato per costruire la macro crei dei riferimenti assoluti.

Nel mio esempio "I" scorreva le ... ed "J" scorreva le ...
Leggi il mio codice e lo capisci (a parte che è pure commentato)

Si quando ti riferisci a riga con riga e a colonna con colonna sottolineandolo nei commenti capisco.Non capisco come sfruttare "I" per fare il salto di quatttro righe e ricominciare.

Quello che per la mia testolina è limitante sono le svariate possibilità che Microsoft offre per fare ogni cosa perché lavorando il tempo che posso dedicare è poco e quando non posso per molto tempo le carte si mischiano, purtroppo non riesco a trovare un manuale che insegni un "modus operandi" ma solo dei tomi che offrono svariate possibilità per limitati argomenti.
Se conosci un buon bignami fammi sapere.
xp con Excel 2007
windows 8 con excel 2013
M@rtyn@
Utente Junior
 
Post: 88
Iscritto il: 02/03/11 21:03

Re: Macro Excel 2007 Colora celle

Postdi ricky53 » 18/04/14 09:12

Ciao,
il mio consiglio: nessun bignami e neanche tomi. Però è il mio modo di vedere.
Ci sono degli ottimi corsi in rete (fai un giro e troverai cose interessanti) e ... tante prove ma un po' di programmazione bisogna conoscerla.

Continuo a non capire ... prò tu no nè che ti sei sprecata per forni re informazioni aggiuntive ... Eh, Eh !!!

L'intervallo sul quel agire ... ricavo che non sia solo "B1:BD4" .
Sempre ricavo e deduco che tu abbia un intervallo ampio ... fino alla riga 1835 ???
Tu vuoi elaborare questo intervallo a gruppi di "4" righe per volta

MA PERCHE'?

Se non chiarisci bene cosa devi fare non sono in grado di aiutarti in modo propositivo.
Dice il vecchio saggio provare e riprovare è l'unica strada per imparare

Più chiara è la vostra spiegazione
Più immediata sarà la nostra soluzione


. . . . . . . . . .
S.O. W7; Office 2003-10-13-16
Avatar utente
ricky53
Utente Senior
 
Post: 4223
Iscritto il: 11/04/09 19:29
Località: Italia


Torna a Applicazioni Office Windows


Topic correlati a "Macro Excel 2007 Colora celle":


Chi c’è in linea

Visitano il forum: patel e 10 ospiti