|
Domanda.
nome=marco
cognome=di bartolo
versione=97
conosco3=buono
macro=SI
email=marco_@email.it
chri=306
problema=ho una matrice 90 x 90 di numeri interi ma possiamo ragionare anche
su una 4x4. Non riesco ad utilizzare la formattazione condiz
incrociata. Voglio che per ogni colonna il massimo venga segnalato in
grassetto, e il massimo per riga venga segnal con l'arrossamento del
background della cella. pertanto dovrebbero esserci alla fine 4 tipi di
celle. Normali, grassetto, rosse e rosse col numero in grassetto. Non
riesco ad arrivare a ciò. Riesco solo ad avere una cosa per volta, o
l'analisi delle righe o quella delle colonne. Fondamentalmente perchè la
formattaz condiz mi cancella quella precedente. Potrei forse definire 2
formatt condiz per ogni cella, ma 90x90 fa 8100!! Aiuto !! Grazie ciao
Risposta.
mah?, io 90x90 l'ho provata con generazione di numeri casuali e poi
formattazione come da te richiesta. Ho impiegato mezzo secondo in più a
generare i numeri che non la formattazione che è stata quasi immediata,
comunque queste le due routine che ho diviso per fare la prova:
Sub Massimo()
Dim r As Integer, c As Integer
For r = 1 To 90
For c = 1 To 90
Cells(r, c) = Int(100 * Rnd)
Next: Next
End Sub
--------------------------------------
Sub formatta()
Dim cel As Object
For riga = 1 To 90
Set pippo = Range(Cells(riga, 1), Cells(riga, 90))
z = Application.WorksheetFunction.Max(pippo)
For Each cel In pippo
If cel.Value = z Then cel.Interior.ColorIndex = 3
Next: Next
For col = 1 To 90
Set pluto = Range(Cells(1, col), Cells(90, col))
For Each cel In pluto
w = Application.WorksheetFunction.Max(pluto)
If cel.Value = w Then cel.Font.Bold = True
Next: Next
End Sub
Dovresti capire le istruzioni, ti saluto, fammi sapere, ennius
|