Condividi:        

excel macro codice della formattazione grafica della 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

excel macro codice della formattazione grafica della celle

Postdi andsa61 » 19/11/14 21:05

Ciao a tutti,
mi chiedo se è possibile ridurre nelle macro il codice delle formattazioni grafiche delle celle (bordi, riempimenti, allineamenti, colorazioni).

per rendere chiaro, se prendo il codice generato con la registrazione macro della semplice operazione di mettere un bordo intorno
a una cella, ne ho per 20 linee di codice almeno.

si può ottimizzare in meno linee ?.

esiste un testo che spiega questa tecnica ?.

Sto facendo una macro che crea tabelle con celle che secondo posizioni e funzioni diverse sono bordate o colorate oppure allineate ecc.

la macro si allunga inesorabilmente con la sola parte (ripresa dalla registrazione macro) della formattazione grafica delle celle.

si può fare meglio ?

grazie in anticipo
Andrea
andsa61
Utente Junior
 
Post: 20
Iscritto il: 24/01/14 08:27

Sponsor
 

Re: excel macro codice della formattazione grafica della cel

Postdi Flash30005 » 20/11/14 01:07

Quando si registra una macro molte linee possono essere superflue (tipo scroll del mouse e spostamenti vari)

Ma bisogna analizzare il codice per poter eliminare linee superflue
prova, almeno, a postare il codice ottenuto

ciao
Flash
Win10 + Office 2010 Ita
"Fotografica" al servizio dell'immagine
Avatar utente
Flash30005
Moderatore
 
Post: 8517
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: excel macro codice della formattazione grafica della cel

Postdi andsa61 » 24/11/14 19:48

Grazie per il suggerimento,
oggi ho iniziato a provare e credo di avere capito cosa intendi per righe superflue,
ci vorranno un po di tentativi ma la strada sento che è giusta.

direi che il quesito è risolto
andsa61
Utente Junior
 
Post: 20
Iscritto il: 24/01/14 08:27

Re: excel macro codice della formattazione grafica della cel

Postdi Anthony47 » 25/11/14 12:40

Nel caso dei Bordi, il registratore restituisce la formattazione dei singoli bordi, uno per uno (xlEdgeLeft, xlEdgeTop, xlEdgeBottom e xlEdgeRight); ma puoi farli tutti insieme (se tutti uguali) omettendo l' Indice; esempio:
Codice: Seleziona tutto
    With Range("M2:N5").Borders
        .LineStyle = xlDash
        .ColorIndex = 0
        .TintAndShade = 0
        .Weight = xlThick
    End With


Su intervalli con piu' celle, se si vuole solo tracciare i bordi esterni e i bordi sono tutti uguali si puo' ricorrere a un loop del tipo
Codice: Seleziona tutto
For I = 7 To 10
    With Selection.Borders(I)
        .LineStyle = xlDouble
        .ColorIndex = 0
        .TintAndShade = 0
        .Weight = xlThin
    End With
Next I

Per la spiegazione del For I = 7 To 10 vedere l' help on line del vba alla voce "XlBordersIndex Enumeration (Excel)" (http://msdn.microsoft.com/en-us/library ... .15).aspx)

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

Re: excel macro codice della formattazione grafica della cel

Postdi andsa61 » 25/11/14 13:41

Grazie Anthony per le routine.

In parte ero sulla strada giusta perché ho capito e provato
che sembra bastare il mettere solo l'informazione che si vuole cambiare (per esempio .Interior.ColorIndex = 36)
senza ripetere quelle che sono di default e così si allegerisce molto il codice.

Per le righe intorno alla cella ho trovato anche l'istruzione/proprietà BorderAround.

grazie comunque per l'aiuto
Andrea
andsa61
Utente Junior
 
Post: 20
Iscritto il: 24/01/14 08:27


Torna a Applicazioni Office Windows


Topic correlati a "excel macro codice della formattazione grafica della celle":


Chi c’è in linea

Visitano il forum: Nessuno e 32 ospiti