Condividi:        

[Excel] Cambio colore celle in base a valore di altre 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] Cambio colore celle in base a valore di altre celle

Postdi BigMad » 01/03/13 11:21

Ciao a tutti, sono nuovo del forum, avrei bisogno di un aiutone.

ho un semplice file excel 2007 per effettuare le fatture.

Se spedisco la merce, devo compilare alcuni campi quali:
    - data di trasporto
    - a mezzo (se proprio o il nome del corriere)
    - l'airbill
    - n° di colli
    - peso
    - dimensioni
    - nome e cognome del destinatario
    - eventuale P.Iva
    - indirizzo

I miei quesiti sono questi:
- si può cambiare colore delle celle (a mezzo, airbill, n° colli, peso, dimensioni) solo se viene indicata una data di trasporto e cambiare colore delle celle (indirizzo) solo se compilato il campo nome e cognome?
- si può assegnare colori diversi in base alle celle?
- se le eventuali celle colorate vengono compilate, è possibile togliere il colore di sfondo?
- c'è un modo per non stampare anche i colori delle celle senza dover usare l'opzione bianco e nero?
- rendere obbligatoria la compilazione di alcune celle (es: Fattura, Data Fattura, Nome Cliente)?

es: se inserisco la data di spedizione vorrei diventassero di rosso o giallo (a seconda se essenziali o relative) le altre celle, però se vengono compilate lo sfondo torna bianco.

Grazie a tutti per l'aiuto

Fattura.xlsx
------------------------------------
Excel 2007
BigMad
Win7 + Excel 2007
BigMad
Newbie
 
Post: 3
Iscritto il: 28/02/13 19:30

Sponsor
 

Re: [Excel] Cambio colore celle in base a valore di altre ce

Postdi Flash30005 » 01/03/13 11:40

Ciao BigMad e benvenuto nel Forum

La maggior parte dei quesiti da te posti sono risolvibili con la formattazione condizionale
Nella formattazione condizionale puoi impostare il formato (colore fondo, tipo carattere, etc) dopo aver inserito una o più condizioni.

Per quanto riguarda il rendere "obbligatoria" la compilazione di alcune celle, è possibile tramite macro ma bisognerebbe abbinare questa ad un evento (prima di un salvataggio o altro).

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] Cambio colore celle in base a valore di altre ce

Postdi BigMad » 11/03/13 21:20

Ciao Flash30005,
grazie mille.

Per quanto riguarda la formattazione condizionale ci sono "riuscito" (ho dovuto mettere più condizioni in quanto non sono riuscito ad inserire in una sola funzione più "se", "e" e "o").

Per quanto riguarda la macro, sapresti darmi qualche dritta nel rendere "obbligatoria" la compilazione e il salvataggio magari sia in excel che in pdf (es. n°fatt/anno [data fatt - nome cliente])?

Grazie mille.
BigMad
Win7 + Excel 2007
BigMad
Newbie
 
Post: 3
Iscritto il: 28/02/13 19:30

Re: [Excel] Cambio colore celle in base a valore di altre ce

Postdi Flash30005 » 12/03/13 00:33

Ti consiglio di creare un modello con all'interno tutte le formattazioni condizionali e salvarlo in formato xlt (se hai office 2003 e .xltx se hai excel 2007/2010)

Una macro che controlli il numero fattura e data fattura potrebbe essere questa
(da inserire in ThisWorkbook o Questa_Cartella_Di_Lavoro):
Codice: Seleziona tutto
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
If Worksheets("Foglio1").Range("D7").Value = "" Then
MsgBox "Manca Numero fattura"
Worksheets("Foglio1").Select
Range("D7").Select
Cancel = True
Exit Sub
End If
If Worksheets("Foglio1").Range("D8").Value = "" Then
MsgBox "Manca Data fattura"
Worksheets("Foglio1").Select
Range("D8").Select
Cancel = True
Exit Sub
End If
End Sub

Poi troviamo la maniera di salvare con nome file.xls o .pdf

Specifica la versione di office (che chiediamo di anteporre nella firma ma... non tutti leggono le specifiche del Forum prima di scrivere)

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] Cambio colore celle in base a valore di altre ce

Postdi BigMad » 17/03/13 09:59

Ciao Flash30005,

la macro che controlli il numero fattura e data fattura che ho inserito è questache oltre a convalidare le celle mi restituisce un messaggio di errore, in più ho implementato un database...:
Codice: Seleziona tutto
Private Sub ArchiviaFattura_Click()
Dim xControlloFattura, xNumeroFattura, xRiga
xControlloFattura = Application.CountIf(Sheets("Fatture").Range("A:A"), Sheets("Modello").Range("D7").Value)
If Sheets("Modello").Range("D7") = "" Then
MsgBox "Inserire il numero Fattura"
Exit Sub
End If
If Sheets("Modello").Range("D8") = "" Then
MsgBox "Inserire la Data fattura"
Exit Sub
End If
If Sheets("Modello").Range("F7") = "" Then
MsgBox "Inserire il Nome cliente"
Exit Sub
End If
If Sheets("Modello").Range("J32") = 0 Then
MsgBox "Attenzione! Non hai inserito nessun articolo!"
Exit Sub
End If
If xControlloFattura > 0 Then
MsgBox "Numero Fattura già presente in archivio!"
Exit Sub
Else
xRiga = Sheets("Fatture").Cells(Rows.Count, 1).End(xlUp).Row + 1
Sheets("Fatture").Cells(xRiga, 1) = Sheets("Modello").Range("D7")
Sheets("Fatture").Cells(xRiga, 2) = Sheets("Modello").Range("D8")
Sheets("Fatture").Cells(xRiga, 3) = Sheets("Modello").Range("F7")
Sheets("Fatture").Cells(xRiga, 4) = Sheets("Modello").Range("J36")
Sheets("Fatture").Cells(xRiga, 5) = Sheets("Modello").Range("D10")
Sheets("Fatture").Cells(xRiga, 6) = Sheets("Modello").Range("F14")
MsgBox "Fattura archiviata correttamente."
Call SalvaFattura
End If
End Sub



il problema ce l'ho col salvataggio del file sia in .pdf che in .xls, ho dovuto fare 2 pulsanti in quanto non ho le conoscenze per farne 1 solo
.PDF:
Codice: Seleziona tutto
Sub SalvaFattura()
Dim sPath As String
     Dim sNome As String
     Application.DisplayAlerts = False
     On Error Resume Next
    With ThisWorkbook
        sPath = .Path
        With .Worksheets("Modello")
            sNome = "Fattura " & Format(.Range("D7").Value, "0#") & "." & Format(.Range("D8").Value, "yy") & " [" & Format(.Range("D8").Value, "dd.mm.yyyy") & " - " & .Range("F7").Value & "]"
            .ExportAsFixedFormat _
                 Type:=xlTypePDF, _
                 Filename:=sPath & "\" & sNome & ".pdf", _
                 Quality:=xlQualityStandard, _
                 IncludeDocProperties:=True, _
                 IgnorePrintAreas:=False, _
                 OpenAfterPublish:=False
        End With
    End With
    Application.DisplayAlerts = True
End Sub

.XLS:
Codice: Seleziona tutto
Private Sub CommandButton3_Click()
Dim sPath As String
Dim sNome As String
Application.DisplayAlerts = False
On Error Resume Next
With ThisWorkbook
sPath = .Path
With .Worksheets("Modello")
sNome = Format(.Range("M13").Value, "dd-mm-yyyy") & " - " & .Range("M3").Value
ActiveWorkbook.SaveAs Filename:=sPath & "\" & sNome & ".xls", _
FileFormat:=xlExcel8
End With
End With
Application.DisplayAlerts = True
End Sub

salvandolo però in .xls mi porto dietro anche tutto il codice?
inoltre stavo cercando di salvare il file all'interno di una sottocartella (rispetto a dove è il file excel) nominata con l'anno della data;
poi che tu sappia è possibile inviare tramite email (usando Thunderbird) il file .pdf usando come destinatario, oggetto e testo determinate celle?


Avevo già specificato la versione di Excel sulla firma, non capisco perché non compaia...

Grazie ancora per l'aiuto.
BigMad
Win7 + Excel 2007
BigMad
Newbie
 
Post: 3
Iscritto il: 28/02/13 19:30


Torna a Applicazioni Office Windows


Topic correlati a "[Excel] Cambio colore celle in base a valore di altre celle":

BTp Valore
Autore: MarioLombardi
Forum: Forum off-topic
Risposte: 2

Chi c’è in linea

Visitano il forum: Nessuno e 34 ospiti