Condividi:        

MACRO PER QUESTO FOGLIO EXCEL

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 PER QUESTO FOGLIO EXCEL

Postdi Lucio Peruggini » 19/06/14 23:39

Ciao a tutti
Ancora una volta ho bisogno del vostro aiuto per una macro che esegua, quanto descrivo.

Nelle colonne C1:M5 e F7:J7, sono riportati i cinque numeri per ogni ruota che provengono dal foglio Archivio riga tre.
Orbene, desidererei colorare in azzurro nelle colonne E – F e N:P i numeri corrispondenti per ogni ruota; cioè quelli presenti in C1:M5 e F7:J7. Inoltre nella colonna “P” bisognerebbe riportare il numero presente nella cella A1. Questo riguarda il colore!
Nota: per il colore nelle due colonne N e O, la “L” appartiene alla colonna (E); la “O” alla colonna (F). In pratica riguarda la posizione.

La seconda fase o step della macro dovrebbe aggiornare con un più uno (1) ovviamente quando cambio estrazione in (A1), le colonne I-J-L-M-Q-R.
Finito

Come sempre ringrazio per l’aiuto, buona giornata.
Ciao

https://dl.dropboxusercontent.com/u/182 ... tuali.xlsx
Lucio P.
Versione Office - 2013
Lucio Peruggini
Utente Senior
 
Post: 896
Iscritto il: 24/01/11 16:23

Sponsor
 

Re: MACRO PER QUESTO FOGLIO EXCEL

Postdi Lucio Peruggini » 21/06/14 14:50

Ho risolto la seconda parte della macro con delle formule, mi servirebbe solamente la prima parte; quella che colora le celle in azzurro.

Gentilmente, mi aiutate?

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

Re: MACRO PER QUESTO FOGLIO EXCEL

Postdi Anthony47 » 21/06/14 15:29

Nel file che hai pubblicato le colonne N:P sono vuote o contengono dei numeri tipo 8861; inoltre le celle colorate in blu non mi sembra che rispettino la regola che hai dato ("desidererei colorare in azzurro nelle colonne E – F e N:P i numeri corrispondenti per ogni ruota; cioè quelli presenti in C1:M5 e F7:J7").
Quindi se non arrivano contributi dovresti spiegare nuovamente, quanto piu' possibile in linguaggio excel ;)

Ciao
Avatar utente
Anthony47
Moderatore
 
Post: 19221
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: MACRO PER QUESTO FOGLIO EXCEL

Postdi Lucio Peruggini » 21/06/14 19:02

Orbene, desidererei colorare in azzurro nelle colonne E – F e N:P i numeri corrispondenti per ogni ruota; cioè quelli presenti in C1:M5 e F7:J7.


Ciao Anthony, in realtà è proprio quello che ho scritto.

E' giusto quanto hai interpretato!

Esempio:

Il 50 di CA (J1) lo troviamo alla riga 15 colonna "F" (corrisponde alla ruota in C15) quindi va colorato in azzurro il numero 50 - F15 e va colorata in azzurro la cella corrispondente come posizione che in questo caso è la seconda, colonna "O".
Se al posto del 50 avessimo avuto il numero nove (9) J1 - E15, avremmo colorato sia E15 sia N15.

Per quanto riguarda la colonna "P" che riporta dati numerici, non farci caso; quello l'ho già risolto.

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

Re: MACRO PER QUESTO FOGLIO EXCEL

Postdi Anthony47 » 22/06/14 02:31

1. Posiziona le tabelle delle estrazioni in modo che siano gestibili senza patemi d'animo, come da immagine:
Immagine
caricare immagini

2. Poi prova con questa macro:
Codice: Seleziona tutto
Sub lpcolor()
Dim myEstr As Range, myN1N2 As Range, lastN1 As Long, I As Long, J As Long
Dim myRuota, Celes As Long

Set myEstr = Sheets("TT + Nazionale").Range("B1")    '<<< L' inizio della prima tabella estraz
Set myN1N2 = Sheets("TT + Nazionale").Range("E11")   '<<< L' inizio degli estratti
'
Celes = RGB(0, 255, 255)
'
lastN1 = myN1N2.End(xlDown).Row
myN1N2.Resize(lastN1, 2).Interior.ColorIndex = xlNone
myN1N2.Offset(0, 9).Resize(lastN1, 3).Interior.ColorIndex = xlNone
myEstr.Resize(6, 12).Interior.ColorIndex = xlNone

For I = myN1N2.Row To lastN1
    If Application.WorksheetFunction.CountIf(myEstr.Resize(5, 1), myN1N2.Offset(I - myN1N2.Row, -2)) > 0 Then J = 0 Else J = 6
    myRuota = Application.Match(myN1N2.Offset(I - myN1N2.Row, -2), myEstr.Offset(0, J).Resize(6, 1), 0)
    If IsError(myRuota) Then
        MsgBox ("Ruota inesistente in: " & I)
        Exit Sub
    Else
        If Application.WorksheetFunction.CountIf(myEstr.Offset(myRuota - 1, J).Resize(1, 6), _
           myN1N2.Offset(I - myN1N2.Row, 0)) > 0 Then
            myN1N2.Offset(I - myN1N2.Row, 0).Interior.Color = Celes
            myN1N2.Offset(I - myN1N2.Row, 9).Interior.Color = Celes
            myEstr.Offset(myRuota - 1, J + 1).Resize(1, 5).Find(myN1N2.Offset(I - myN1N2.Row, 0).Value, , xlValues, xlWhole).Interior.Color = Celes
        End If
        If Application.WorksheetFunction.CountIf(myEstr.Offset(myRuota - 1, J).Resize(1, 6), _
           myN1N2.Offset(I - myN1N2.Row, 1)) > 0 Then
            myN1N2.Offset(I - myN1N2.Row, 1).Interior.Color = Celes
            myN1N2.Offset(I - myN1N2.Row, 10).Interior.Color = Celes
            myEstr.Offset(myRuota - 1, J + 1).Resize(1, 5).Find(myN1N2.Offset(I - myN1N2.Row, 1), , xlValues, xlWhole).Interior.Color = Celes
        End If
    End If
Next I
Set myEstr = Nothing
Set myN1N2 = Nothing
End Sub
Le istruzioni marcate <<< devono essere personalizzate

L' immagine precedente mostra una parte dell' esito.

Ciao
Avatar utente
Anthony47
Moderatore
 
Post: 19221
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: MACRO PER QUESTO FOGLIO EXCEL

Postdi Lucio Peruggini » 22/06/14 09:55

Ciao Anthony

Innanzitutto grazie per l'aiuto ma in che modo devo gestire le istruzioni?
La macro mi colora solamente il 61, poi viene fuori un messaggio che è questo.

https://dl.dropboxusercontent.com/u/182 ... stente.PNG

Ovviamente devo aggiungere qualcosa nelle istruzioni ma non so proprio dove mettere mano.

Ciao e buona domenica

Dimenticavo, Nella macro non riesco a intervenire; punto il mouse e mi lampeggia senza la possibilità di modifica.
Lucio P.
Versione Office - 2013
Lucio Peruggini
Utente Senior
 
Post: 896
Iscritto il: 24/01/11 16:23

Re: MACRO PER QUESTO FOGLIO EXCEL

Postdi Lucio Peruggini » 22/06/14 10:35

Scusami, solo ora mi sono reso conto dall'immagine che hai allegato che vi è una disposizione diversa delle ruote che hai unito; questo spiega tutto.

Sistemo il foglio e so già che funzionerà tutto perfettamente.
Grazie molte
Lucio P.
Versione Office - 2013
Lucio Peruggini
Utente Senior
 
Post: 896
Iscritto il: 24/01/11 16:23

Re: MACRO PER QUESTO FOGLIO EXCEL

Postdi Lucio Peruggini » 22/06/14 10:38

Infatti, funziona magnificamente!

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

Re: MACRO PER QUESTO FOGLIO EXCEL

Postdi Anthony47 » 22/06/14 10:40

Eh eh, mai partire dal "punto 2" delle istruzioni.

Eventuali personalizzazione alle istruzioni marcate <<< sono necessarie se il layout del foglio fosse diverso da quello da te pubblicato (e modificato come da "punto 1").

Ciao
Avatar utente
Anthony47
Moderatore
 
Post: 19221
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: MACRO PER QUESTO FOGLIO EXCEL

Postdi Lucio Peruggini » 22/06/14 13:36

Davo per scontato quelle che erano le mie impostazioni e quindi non ho fatto caso alla tua immagine allegata.

Mi fai una cortesia? Potremmo colorare anche la colonna "P" in corrispondenza dell'evento uscito?
Mi serve per raggruppare tutti gli eventi usciti adoperando i filtri utilizzando per l'appunto la colonna "p".

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

Re: MACRO PER QUESTO FOGLIO EXCEL

Postdi Anthony47 » 23/06/14 01:01

Aggiungi queste due righe:
Codice: Seleziona tutto
            myN1N2.Offset(I - myN1N2.Row, 9).Interior.Color = Celes   'ESISTENTE
            myN1N2.Offset(I - myN1N2.Row, 11).Interior.Color = Celes '<<< aggiungere

Codice: Seleziona tutto
            myN1N2.Offset(I - myN1N2.Row, 10).Interior.Color = Celes   'ESISTENTE
            myN1N2.Offset(I - myN1N2.Row, 11).Interior.Color = Celes '<<< aggiungere

Ciao
Avatar utente
Anthony47
Moderatore
 
Post: 19221
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: MACRO PER QUESTO FOGLIO EXCEL

Postdi Lucio Peruggini » 23/06/14 09:19

Molte grazie Anthony

Scusami ancora, se volessi un colore più carico dove intervengo?

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

Re: MACRO PER QUESTO FOGLIO EXCEL

Postdi ricky53 » 23/06/14 09:39

Ciao,
va modificata l'istruzione
Codice: Seleziona tutto
Celes = RGB(0, 255, 255)

Se vuoi rimanere sul celeste-azzurro-blu cambia il secondo valore ...
Codice: Seleziona tutto
Celes = RGB(0, 0, 255)

puoi dargli valori da "0" a "255", io ti ho proposto il minimo:"0".
Tu prova con altri valori fino ad ottenere il colore che ti aggrada
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. W10; Office 2003-10-13-16-19
Avatar utente
ricky53
Utente Senior
 
Post: 4565
Iscritto il: 11/04/09 19:29
Località: Italia

Re: MACRO PER QUESTO FOGLIO EXCEL

Postdi Lucio Peruggini » 23/06/14 12:07

Ok, grazie per le dritte ricky.
Ciao
Lucio P.
Versione Office - 2013
Lucio Peruggini
Utente Senior
 
Post: 896
Iscritto il: 24/01/11 16:23

Re: MACRO PER QUESTO FOGLIO EXCEL

Postdi Anthony47 » 23/06/14 14:58

Comunque se non vuoi fare esperimenti e il colore che ti piace non e' tra le principali combinazioni rgb, puoi usare una cella di appoggio (es W1, che colori a tuo piacere), e poi sostituisci
Celes = RGB(0, 255, 255) con
Codice: Seleziona tutto
Celes = Range("W1").Interior.Color


Ciao
Avatar utente
Anthony47
Moderatore
 
Post: 19221
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: MACRO PER QUESTO FOGLIO EXCEL

Postdi Lucio Peruggini » 23/06/14 17:10

Grazie anche per quest'altra soluzione che terrò presente, in questo caso mi è già stata utile la soluzione di ricky; (Celes = RGB(0, 0, 255).

Ciao e buona serata
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 PER QUESTO FOGLIO EXCEL":


Chi c’è in linea

Visitano il forum: papiriof e 53 ospiti