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