O erro está nas definições das Variaveis, e uso das mesmas na rotina na Propriedade Range, veja na ajuda do VBA sobre RANGE e CELLS.
Exemplificando :
Propriedade RANGE:
Sub PropriedadeRange()
Dim col_var 'Coluna
col_var = "C" 'Refere-se a Letra da COLUNA
'Range(col_var & "47") significa =Range(Coluna, Linha)
Set ColRange = Range(col_var & "47" & ":" & col_var & "48" & "," & col_var & 50)
'Seleciona a Coluna, para colorir não é necessário
ColRange.Select
'ou, Usamos somente
ColRange.Interior.ColorIndex = 3
End Sub
Propriedade CELLS:
Sub PropriedadeCells()
'Deixei a mesma variavel só para entender
Dim col_var 'Neste caso representa a Coluna Numerica
Dim lin_var 'Neste caso representam a Linha
Dim lin_var1 'Neste caso representam a Linha
Dim lin_var2 'Neste caso representam a Linha
col_var = 3 'Coluna 3 (C)
lin_var = 47 'Linha 47
lin_var1 = 48 'Linha 48
lin_var2 = 50 'Linha 50
'Cells(lin_var, col_var) = significa = Cells(Linha,Coluna)
Set ColRange = Application.Union(Cells(lin_var, col_var), Cells(lin_var1, col_var), Cells(lin_var, col_var))
'Seleciona a Coluna, para colorir não é necessário
ColRange.Select
'ou, Usamos somente
ColRange.Interior.ColorIndex = 10
End Sub
O interessante é que quando a linha é uma variável, a instrução funciona ->
Range("C" & lin_var & ":" & "R" & lin_var).Select
Neste caso, se definiu a Variável lin_var como sendo a Linha 2, a Propriedade Range entende como : Range("C2:R2").Select, ou seja, "C e R" =Columns, " e o Numero a Linha
[]s
Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel
Postado : 14/03/2012 8:56 pm