|
Login
  • Page:
  • 1
  • 2

TOPIC: formattazione con più condizioni (Excel 2003)

formattazione con più condizioni (Excel 2003) 6 years 3 months ago #8918

  • cettina13bj
  • cettina13bj's Avatar
  • OFFLINE
  • Fresh Boarder
  • Posts: 11
  • Karma: -3
testo testo
AA CC
BB DD
CC
DD

Oggetto: formattazione con più condizioni (Excel 2003): quesito.-

Ciao a tutti.
In questo foglio, nella colonna "C", ho una cella che può contenere diversi valori.
Devo fare in modo che i colori delle celle della colocca "C", da C2 a C5 mi vengano richiamati
nelle celle della colonna "D", allorquando seleziono il testo prescelto, già memorizzato nella
colonna "C", tramite la freccia a tendina.
Posso avere restituito questo stesso foglio di calcolo con le funzioni previste, in modo che
possano restarmi impresse?
Preciso che non ho dimestichezza con il VBA, ma, se proprio necessario, farò il copiato
dell'esempio che mi verrà sottoposto.
Grazie a tutti.
Attachments:
The administrator has disabled public write access.

formattazione con più condizioni (Excel 2003) 6 years 3 months ago #8920

  • lorenzo1957
  • lorenzo1957's Avatar
  • OFFLINE
  • Platinum Boarder
  • Posts: 849
  • Thank you received: 59
  • Karma: 51
Ciao Cettina,
come probabilmente già sapevi, con il 2003 la formattazione condizionale può arrivare fino a tre variabili.
Ti ho comunque aggiornato l'esempio e ti ho lasciato anche la videata della finestra di alert al cambio di versione.
Ritengo occorra ricorrere al VBA, con l'avvertenza che c'è una differenza sostanziale fra il riempimento che farebbe la formattazione condizionale rispetto al colorare lo sfondo di una cella.
Domani comunque in ufficio con il 2003 provo a buttar giù 4 righe di codice.
ciao, Lo

File Attachment:

File Name: formatt_piu_condizioni.xls
File Size: 75 KB
Last Edit: 6 years 3 months ago by lorenzo1957.
The administrator has disabled public write access.

formattazione con più condizioni (Excel 2003) 6 years 3 months ago #8921

  • lorenzo1957
  • lorenzo1957's Avatar
  • OFFLINE
  • Platinum Boarder
  • Posts: 849
  • Thank you received: 59
  • Karma: 51
Ciao Cettina,
questo è un possibile codice:
Sub macro1()
Set Zona1 = Range("c3:c6") 'dimensiona la zona con i colori matrice
Set Zona2 = Range("d3:d31") ' dimensiona la zona di destinazione
Range("c3").Select ' si posiziona in testa al range campione
Dim MioDato(4) 'dimensiona la variabile
Dim MioSfondo(4) ' dimensiona la variabile
For J = 1 To 4 'cicla
MioDato(J) = ActiveCell.Value 'carica in memoria i valori delle celle
MioSfondo(J) = ActiveCell.Interior.ColorIndex ' con la stessa sequenza carica l'indice colori
ActiveCell.Offset(1, 0).Select 'passa sotto
Next J
Zona2.Select 'seleziona il range con le celle a scrittura vincolata
For Each CL In Selection 'ciclo principale su tutte le celle del range
For J = 1 To 4 'cicla la variabile MioDato e la confronta con il valore della cella
If CL.Value = MioDato(J) Then CL.Interior.ColorIndex = MioSfondo(J) 'determina quindi la posizione di mio valore nel ciclo d 1 a 4 e assegna alla cella il colore corrispondente
Next J
Next
Range("d2").Select
End Sub

Attualmente NON è automatico ad inserimento del dato; deve essere lanciato quando si vuole dare evidenza dei colori.
domani proverò con Excel 2003 a trovare una soluzione automatica.
ciao, Lo

File Attachment:

File Name: formatt_piu_condizioni_macro.xls
File Size: 82 KB
Last Edit: 6 years 3 months ago by lorenzo1957.
The administrator has disabled public write access.

formattazione con più condizioni (Excel 2003) 6 years 3 months ago #8922

  • lorenzo1957
  • lorenzo1957's Avatar
  • OFFLINE
  • Platinum Boarder
  • Posts: 849
  • Thank you received: 59
  • Karma: 51
Ciao Cettina.
File che potrebbe essere automatizzato come segue:
Codice in Thisworkbook:
Private Sub Workbook_Open()
Sheets("foglio1").Select
Call macro1
End Sub

codice nel foglio1:
Private Sub Worksheet_Change(ByVal Target As Range)
Set Zona2 = Range("d3:d31")
If Not Intersect(Target, Zona2) Is Nothing Then Call macro2
End Sub

codice in un unico modulo (importante in un unico modulo):
Dim MioDato(4)
Dim MioSfondo(4)

Sub macro1()
Sheets("foglio1").Select
Set Zona1 = Range("c3:c6")
J = 0
Zona1.Select
For Each CL In Selection
J = J + 1
MioDato(J) = CL.Value
MioSfondo(J) = CL.Interior.ColorIndex
Next
End Sub
Sub macro2()
Set Zona2 = Range("d3:d31")
Zona2.Select
For Each CL In Selection
For J = 1 To 4
If CL.Value = MioDato(J) Then CL.Interior.ColorIndex = MioSfondo(J)
Next J
Next
Range("d2").Select
End Sub

come da file nuovo allegato.
ciao, Lo

File Attachment:

File Name: formatt_piu_condizioni_macro2.xls
File Size: 82 KB
The administrator has disabled public write access.

formattazione con più condizioni (Excel 2003) 6 years 3 months ago #8931

  • cettina13bj
  • cettina13bj's Avatar
  • OFFLINE
  • Fresh Boarder
  • Posts: 11
  • Karma: -3
Lorenzo1957, dalla tua risposta capisco la passione che ci metti nella risoluzione dei casi che ti vengono inviati. In apparenza sembra sacrificio ed in effetti le risposte come le tue hanno in sè del sacrificio, solo che sono intrise da tanta passione, al punto che il sacrificio quasi passa in secondo ordine.
Bene, mi sembrava doveroso sottolineare l'impegno profuso.
Ciò detto, ti chiedo se sia possibile, per chi - come me - non conosce il linguaggio in VB, esportare la soluzione in VB che hai fornito in altri casi analoghi, magari con un tuo gradito commento ai vari passaggi che hai fatto.
Grazie per il tuo impegno.
The administrator has disabled public write access.

formattazione con più condizioni (Excel 2003) 6 years 3 months ago #8933

  • cettina13bj
  • cettina13bj's Avatar
  • OFFLINE
  • Fresh Boarder
  • Posts: 11
  • Karma: -3
Formattazione condizionale con Excel 2003

domanda:
senza dovere essere costretti a ricorrere all'applicazione del linguaggio in Visual Basic,
è possibile ottenere nella colonna "D" lo stesso contenuto e lo stesso sfondo che
abbiamo memorizzato nella colonna "C"?
Aiutandosi con una freccia a tendina nella colonna "D", si riesce a riportare
i dati della colonna "C"?
Ho letto che usando le funzioni E() e O() si possono usare fino a 30 condizioni,
quindi un numero sufficientemente ampio.
Per usare pù condizioni occorre usare l'opzione "la formula è" usando le funzioni E e O.
Dette indicazioni le ho tratte dal link sotto specificato:
www.excelling.it/home/208-formattazione-...e-con-piu-condizioni

Ciò detto, dal momento che non conosco il Viasual Basic, mi piacerebbe capire
come realizzare più di una condizione con Excel 2003.
Ringrazio quanti vorranno collaborare per fornirmi delle spiegazioni sul caso concreto,
a anche sono disposto a comprendere altri esempi.
Attachments:
The administrator has disabled public write access.
  • Page:
  • 1
  • 2
Time to create page: 0.701 seconds