Visualizzazione dei risultati da 1 a 9 su 9
  1. #1
    Utente di HTML.it
    Registrato dal
    Sep 2013
    Messaggi
    5

    [EXCEL 2007] Bordi cella solo se piena

    Ciao a tutti,

    sto impostando una fattura con excel 2007 e volevo sapere se è possibile impostare una riga per far in modo che i bordi compaiano solo se questa ha un valore.

    In pratica nel piè di pagina visualizzo il totale e vorrei fare in modo che in stampa se inserisco solo 3 righe mi compaiano solo i bordi di quelle e non di tutte le celle.

    Spero di essermi spiegato, grazie per le eventuali risposte e buona giornata a tutti!

  2. #2
    Ciao, benvenuto,
    non ho ben capito se i bordi vuoi darli al totale o alle singole righe della fattura o alle celle piene, comunque questo conta poco, al limite me lo spieghi meglio e aggiustiamo il tiro.

    Per dare i bordi alle celle piene devi usare la formattazione condizionale.

    Puoi fare così, per esempio:

    Per prima cosa disattiva la griglia in modo che non dia fastidio nella visualizzazione dei bordi, puoi farlo dalla scheda Visualizza.

    Poi clicca sulla cella A1

    Nella scheda Home clicca su Formattazione Condizionale, poi su Crea nuova regola e poi su Utilizza una formula ...

    Nella casella in cui inserire la formula metti questa

    =SE(A1<>"";VERO;FALSO)

    Poi clicca su Formato, vai nella scheda Bordo, scegli il colore e lo stile del bordo e clicca su Bordato e poi su OK e poi di nuovo su OK.

    In questo modo hai inserito la Formattazione solo sulla cella A1, ora devi estenderla a tutta l'area della fattura che, poniamo, può occupare fino alla cella M100.

    Torma allora su formattazione Condizionale e vai in gestisci regole e nella casella Si applica a sostituisca il valore =$A$1 col valore =$A$1:$M$100 e poi dai OK.

    Non dovrebbe servire altro.

    Fai sapere come va.
    La democrazia rappresentativa ha fatto il suo tempo, è ora di passare alla democrazia diretta.
    www.beppegrillo.it

  3. #3
    Utente di HTML.it
    Registrato dal
    Sep 2013
    Messaggi
    5
    Ciao,

    la soluzione da te descritta è ottima e mi hai risolto un problemino abbastanza fastidioso.

    Adesso però ho notato una cosa, copiando la formattazione come indicato da te per una decina di pagine noto che anche se ho 3 righe effettivamente con i valori, se faccio l'anteprima di stampa excel mi considera anche le pagine vuote.

    mi spiego meglio, presupponiamo che per semplicità la mia fattura ha 10 righe per pagina, se scrivo in 5 voglio automaticamente che in stampa mi stampi una sola pagina, se scrivo in 13 voglio 2 pagine e così via.

    è possibile?

    ps. grazie per l'aiuto.

  4. #4
    Ho fatto un po' di prove e mi sembra che non sia la formattazione condizionale la responsabile di questo comportamento ma piuttosto la presenza di dati nelle righe o colonne successive.

    Excel, a quanto mi è parso di capire, stampa tutte le pagine, anche se vuote, fino all'ultimo dato che trova. Quindi se, per esempio, sono piene solo la cella A1 e la A1000, excel stamperà la prima pagina (con la A1), poi una miriade di pagine vuote e poi l'ultima pagina con la A1000.

    Ho anche provato a cercare un po' ma non ho trovato nessun settaggio che impedisca di stampare le pagine vuote.

    A questo punto ti direi di verificare se ci sono dati nascosti o dimenticati in qualche cella lontana (sia in verticale che in orizzontale) e poi riprovare.

    Per cercarli puoi andare nella scheda Visualilzza e cliccare su Anteprima interruzioni di pagina (che è una specie di anteprima di stampa) e vedere che dati ci sono nell'ultima pagina, e puoi anche cancellarli selezionando tutte le celle e premendo Canc (poi clicchi su Normale per tornare alla visualizzazione classica).

    Se non riesci a risolvere cerchiamo qualche altra soluzione
    La democrazia rappresentativa ha fatto il suo tempo, è ora di passare alla democrazia diretta.
    www.beppegrillo.it

  5. #5
    Utente di HTML.it
    Registrato dal
    Sep 2013
    Messaggi
    5
    ti ringrazio, in serata appena posso provo e ti faccio sapere.

  6. #6
    Utente di HTML.it
    Registrato dal
    Sep 2013
    Messaggi
    5
    allora,

    non è la formattazione condizionale, è la formula che mi calcola l'importo che crea l'inghippo.

    esempio

    -- A1 -- B1 -- C1 --
    -- 10 -- 5 -- 15 -- [=SE(A1<>"";"a1+b1";"")]

    se con il riempimento automatico mi copio la formula per 100 righe anche se la casella è vuota se faccio l'anteprima di stampa non mi esce na pagina sola ma tutte le pagine.

    inoltre, visto che questa fattura potrebbe essere di n pagine, è possibile far si che imponibile, iva e totale vengano inseriti solo nell'ultima pagina della fattura?

  7. #7
    Eccomi qui,
    non ho trovato una soluzione "ufficiale" al problema, cioè mi sembra che non sia previsto nessun modo per impedire la stampa di pagine che contengono formule, anche se queste lasciano le celle vuote.

    Il fatto è che, in realtà, le celle non sono vuote ma vengono impostate col valore nullo "" quindi qualcosa c'è ed excel ritiene di doverle stampare.

    A mio avviso, però, stai utilizzando un approccio al problema troppo "cartaceo", cioè mi sembra di capire che tu abbia costruito un modulo standard e lo stia ripetendo n volte, (un po' come se lo stessi fotocopiando). Se fai così è inevitabile che excel decida di stampare tutte le pagine e che ogni pagina abbia i totali.

    Provo a darti un'idea diversa, vedi se ti sembra praticabile:

    Una fattura, per quanto ne so, è composta, idealmente, da cinque parti:

    1- Intestazione fissa con i dati della tua ditta e del cliente
    2- Testata col numero e data fattura
    3- Righe di dettaglio delle singole prestazioni e relativi importi
    4- Coda con i totali, lo scorporo dell'iva, le informazioni sull'imballo, il vettore ecc...
    5- Piè di pagina con i numeri di pagina

    I dati dei punti 1 e 5 andrebbero inseriti nelle intestazioni e piè di pagina.

    Poi dovresti inserire nelle prime righe del foglio i dati del punto 2, poi cinque righe di dettaglio con le formule che servono e infine i dati del punto 4.

    Quando poi compili la fattura, se ti servono più righe, devi solo duplicare, di cinque in cinque, quelle di dettaglio (puoi farlo fare ad una macro).

    Come ultima cosa dovresti regolare gli spazi (altezza delle righe e margini) in modo che con 5 righe il foglio sia pieno e se si passa a dieci righe excel sia obbligato a stamparne uno nuovo.

    In questo modo avresti i punti 1 e 5 ripetuti in tutte le pagine, il punto 2 solo all'inizio, il punto 4 solo alla fine e in mezzo tutte le righe di dettaglio che servono.

    Mi rendo conto che non è tanto facile farlo, però poi si ottiene un bel risultato.
    La democrazia rappresentativa ha fatto il suo tempo, è ora di passare alla democrazia diretta.
    www.beppegrillo.it

  8. #8
    Utente di HTML.it
    Registrato dal
    Sep 2013
    Messaggi
    5
    ok grazie ma non sono in grado di creare una macro del genere mi aiuti?

  9. #9
    Certo che ti aiuto ma la macro è il minimo, il lavoro grosso è quello di definire esattamente gli spazi della fattura.

    Ho fatto una prova sul mio excel che ti invito a ripetere sul tuo anche se, probabilmente, qualche piccolo settaggio diverso potrebbe portare qualche sfasatura di qualche pixel ma è per farti capire cosa intendo dire (per diminuire i problemi con i pixel lavora sempre con lo zoom al 100%).

    Allora, intanto ho impostato i margini della pagina a 2,9 cm superiore e 2,4 inferiore, poi nell'intestazione sinistra ho inserito, in rosso, quattro righe con i dati della ditta e nell'intestazione destra altre quattro con i dati del cliente, nel piè di pagina ho inserito la pagina e il numero di pagine, sempre in rosso e poi, nelle celle, i dati che seguono:


    codice:
    Riga      Altezza in px      Contenuto
    
      1            30            vuota
    
      2            30            intestazione riga 1
      3            30            intestazione riga 2
      4            30            intestazione riga 3
    
      5           125            vuota
    
      6            30            Riga 1
      7            70            vuota
    
      8            30            Riga 2
      9            70            vuota
    
     10            30            Riga 3
     11            70            vuota
    
     12            30            Riga 4
     13            70            vuota
    
     14            30            Riga 5
     15            70            vuota
    
     16           125            vuota
    
     17            25            Coda riga 1
     18            25            Coda riga 2
     19            25            Coda riga 3
    Fatto questo dovresti ottenere un'anteprima di stampa simile a questa .

    Ora esegui questa serie di operazioni (che saranno quelle da far compiere alla macro):

    - Seleziona le righe da 5 a 16 e copiale in memoria con CTRL-C
    - Clicca col destro sul numero di riga 17 e clicca su Inserisci celle copiate
    - Clicca su una qualsiasi cella per annullare la selezione precedente
    - Clicca col destro sul numero di riga 17 e clicca su Inserisci
    - Clicca col destro sul numero di riga 18 e clicca su Inserisci
    - Porta l'altezza della riga 17 a 75 px
    - Porta l'altezza della riga 18 a 120 px

    Se ora fai l'anteprima dovresti ottenere due pagine fatte così e così.

    Come vedi, quindi il primo esempio era di una sola pagina e conteneva sia la testa che la coda mentre ora la prima pagina contiene la testa e la seconda la coda e i dati non si sono spostati come posizione nella pagina.

    In definitiva cosa ho fatto?
    Ho semplicemente copiato tutto il blocco delle righe di dettaglio sotto se stesso e poi ho aggiunto due righe, una di 75 e una di 120 che vanno a sostituirsi alla coda della pagina 1 e alla testata della pagina 2, infatti se noti l'altezza delle prime quattro righe fa 120 e quella delle ultime tre fa 75.

    Se ora ripeti il procedimento:

    - Seleziona le righe da 5 a 16 e copiale in memoria con CTRL-C
    - Clicca col destro sul numero di riga 31 e clicca su Inserisci celle copiate
    - Clicca su una qualsiasi cella per annullare la selezione precedente
    - Clicca col destro sul numero di riga 31 e clicca su Inserisci
    - Clicca col destro sul numero di riga 32 e clicca su Inserisci
    - Porta l'altezza della riga 31 a 75 px
    - Porta l'altezza della riga 32 a 120 px

    Otterrai la fattura con tre pagine: qui, qui e qui.

    In questo modo quindi, inserendo le righe di dettaglio a gruppi di cinque e regolando le altezze, si ottiene che
    - Tutte le pagine hanno intestazioni e piè di pagina (punti 1 e 5)
    - La prima pagina ha la testata (punto 2)
    - L'ultima pagina ha la coda (punto 4)

    Come vedi quindi si tratta solo di definire esattamente gli spazi da dare alle tre zone della fattura: Testa / Corpo / Coda e poi determinare l'esatta sequenza di azioni da compiere per aggiungere una pagina. Fatto questo diventa una banalità fare la macro perché basterà registrare la sequenza e assegnarla a un tasto funzione.

    Quindi prepara il tuo modello di fattura, misura esattamente tutti gli spazi, prova a seguire il procedimento che ti ho detto e fammi sapere come va.

    Ciao
    La democrazia rappresentativa ha fatto il suo tempo, è ora di passare alla democrazia diretta.
    www.beppegrillo.it

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.