Nel mio programma, leggo un foglio dal un file (A) e ne scrivo il contenuto - cella per cella - in un altro file (B).
Man mano che scrivo le celle, provvedo ad inserire formule, dati e attributi vari.
In un cella devo mettere anche una formattazione condizionale con 5 condizioni.
Non sapendo come fare ho registrato una macro che ho inserito nel mio codice, ma non c'e' verso di farla funzionare.
Questo è una parte del codice che utilizzo in cui ho inserito la macro:
- Codice: Seleziona tutto
Set Orig = Workbooks.Open(UserForm1.file_da_importare)
Set Dest = ThisWorkbook
ultimarigax = Sheets(UserForm1.Cbox_foglio.Text).Range("A65000").End(xlUp).Row
ultimacolonnax = Sheets(UserForm1.Cbox_foglio.Text).Cells(1, Cells.Columns.Count).End(xlToLeft).Column
'***************** INIZIA IL CICLO DI LETTURA DELLE RIGHE *****************
riga = 0
For x = 1 To ultimarigax
If Orig.Sheets(UserForm1.Cbox_foglio.Text).Cells(x, 1).Value = "RIS" Then
[...codice...]
Else
' E' una riga successiva alla prima
' ne copio il contenuto, senza aggiungere colori
' inserisco le formule
riga = riga + 1
colonna = 0
For y = 1 To ultimacolonnax
colonna = colonna + 1
' *************************
' COPIA SOLO VALORI
' *************************
If colonna <= 11 Then
' da colonna 1 a 11 copia solo il valore
Dest.Sheets("Check_list").Cells(x, y).Value = Orig.Sheets(UserForm1.Cbox_foglio.Text).Cells(x, y).Value
' BORDO CELLE
Call disegna_bordo(x, y)
' Setta il formato
Dest.Sheets("Check_list").Cells(x, y).NumberFormat = "General"
End If
[ .... codice ....]
If colonna = 28 Then
ThisWorkbook.Activate
Sheets("Check").Select
Set r = Cells(x, y)
r.FormatConditions.Delete
r.FormatConditions.Add Type:=xlCellValue, Operator:=xlEqual, Formula1:="=""1 - B"""
r.FormatConditions(r.FormatConditions.Count).SetFirstPriority
With r.FormatConditions(1)
.Interior.PatternColorIndex = xlAutomatic
.Color = 5296274 <======= ERRORE
.TintAndShade = 0 <======= ERRORE
End With
r.FormatConditions(1).StopIfTrue = False
r.FormatConditions.Add Type:=xlCellValue, Operator:=xlEqual, Formula1:="=""2 - M"""
r.FormatConditions(r.FormatConditions.Count).SetFirstPriority
With r.FormatConditions(1)
.Interior.PatternColorIndex = xlAutomatic
'.Color = 65535
.TintAndShade = 0
End With
r.FormatConditions(1).StopIfTrue = False
r.FormatConditions.Add Type:=xlCellValue, Operator:=xlEqual, Formula1:="=""3 - Me"""
r.FormatConditions(r.FormatConditions.Count).SetFirstPriority
With r.FormatConditions(1)
.Interior.PatternColorIndex = xlAutomatic
'.Color = 49407
.TintAndShade = 0
End With
r.FormatConditions(1).StopIfTrue = False
r.FormatConditions.Add Type:=xlCellValue, Operator:=xlEqual, Formula1:="=""4 - A"""
r.FormatConditions(r.FormatConditions.Count).SetFirstPriority
With r.FormatConditions(1)
.Interior.PatternColorIndex = xlAutomatic
'.Color = 255
.TintAndShade = 0
End With
r.FormatConditions(1).StopIfTrue = False
r.FormatConditions.Add Type:=xlCellValue, Operator:=xlEqual, Formula1:="=""5 - E"""
r.FormatConditions(r.FormatConditions.Count).SetFirstPriority
With r.FormatConditions(1)
.Interior.PatternColorIndex = xlAutomatic
'.Color = xlThemeColorDark1
.TintAndShade = -0.499984740745262
End With
r.FormatConditions(1).StopIfTrue = False
next y
End If
Next x
Orig.Close
Esci:
'MsgBox Err.Number, Err.Description
Set Dest = Nothing
Set Orig = Nothing
Mi da errore nelle righe evidenziate.
Potreste aiutarmi ?
Grazie