|
Rank: AiutAmico
Iscritto dal : 5/10/2010 Posts: 723
|
Ciao, sto cercando di risolvere con una macro questo problema che attualmente eseguo manualmente... [ :-\\ ] dati in un foglio, riga 2 da col.Q a col.Z, dei codici scritti nelle rispettive celle bisogna colorare con Colorindex4 le colonne corrispondenti a quei codici + la costante 2 Esempio (i codici scritti nelle celle variano, mentre gli indirizzi delle celle sono costanti): dati i codici scritti nelle celle: Q2=4; R2=51; S2=27; T2=9; U2=187; V2=33; W2=161; X2=78; Y2=47; Z2=10 bisognerà colorare col Colorindex4 rispettivamente le colonne: 6(F); 53(BA); 29(AC); 11(K); 189(GG); 35(AI); 163(FG); 80(CB); 49(AW); 12(L) Grazie assai, buon pomeriggio eZio
|
|
|
|
|
Rank: AiutAmico
Iscritto dal : 5/29/2003 Posts: 1,694
|
salve prova questa: Sub coloracolonna() Set Rng = Range("Q2:Z2") For Each cl In Rng xx = cl.Row + cl.Value Columns(cl.Row + cl.Value).Interior.ColorIndex = 4 Next cl Set Rng = Nothing End Sub saluti Giap
|
|
Rank: AiutAmico
Iscritto dal : 5/10/2010 Posts: 723
|
Ciao,
è "disarmantemente" (perdono per la distorsione linguistica, ma...!!) PERFETTA Grazie infinite, buon pomeriggio eZio
|
|
Rank: AiutAmico
Iscritto dal : 5/10/2010 Posts: 723
|
Se hai tempo e voglia di darmi una sintetica spiegazione -nelle mie richieste specificavo che andavano colorate le colonne in base ai codici contenuti nelle celle definite nel Rng più la costante 2 nella tua splendida creatura però non vedo traccia dell'istruzione a contemplare quella particolare condizione... supponiamo che anziché +2 fosse stato +5? -C'è una motivazione tecnica per avere istruito xx = cl.Row + cl.Value e poi in Columns(cl.Row + cl.Value).Interior.ColorIndex = 4 hai comunque specificato cl.Row + cl.Value e non xx? (la sub restituisce risulato esatto anche scrivendo xx anziché cl.Row + cl.Value, ma potrei commettere un errore da "burro") Grazie assai ;-)
|
|
Rank: AiutAmico
Iscritto dal : 5/10/2010 Posts: 723
|
Commenta:-nelle mie richieste specificavo che andavano colorate le colonne in base ai codici contenuti nelle celle definite nel Rng più la costante 2 nella tua splendida creatura però non vedo traccia dell'istruzione a contemplare quella particolare condizione... supponiamo che anziché +2 fosse stato +5?
a questa "provo" a rispondermi da solo :-) xx = 5 + cl.Value Columns(xx).Interior.ColorIndex = 4e la sub lavora come istruito...
|
|
Rank: AiutAmico
Iscritto dal : 5/29/2003 Posts: 1,694
|
aetio ha scritto:Se hai tempo e voglia di darmi una sintetica spiegazione -nelle mie richieste specificavo che andavano colorate le colonne in base ai codici contenuti nelle celle definite nel Rng più la costante 2 nella tua splendida creatura però non vedo traccia dell'istruzione a contemplare quella particolare condizione... supponiamo che anziché +2 fosse stato +5? -C'è una motivazione tecnica per avere istruito xx = cl.Row + cl.Value e poi in Columns(cl.Row + cl.Value).Interior.ColorIndex = 4 hai comunque specificato cl.Row + cl.Value e non xx? (la sub restituisce risulato esatto anche scrivendo xx anziché cl.Row + cl.Value, ma potrei commettere un errore da "burro") Grazie assai ;-)
salve l'istruzione che valorizza XX è un rimasuglio inutile. avevo dapprima pensato di creare una variabile , poi per ridurre il numero di istruzioni ho pensato meglio di mettere il tutto nell'istruzione columns se avessi mantenuto la variabile xx, avrei dovuto scrivere "Columns(xx).Interior.ColorIndex = 4 ho percorso la strada alternativa dimenticando di cancellare la riga della variabile. saluti Giap
|
|
Rank: AiutAmico
Iscritto dal : 5/10/2010 Posts: 723
|
Grazie assai Buona serata eZio
|
|
Guest |