Consegui resolver o meu problema, mas não através de uma função
Tive que fazer uma Sub para resolução do problema, pois não estava conseguindo colorir de jeito nenhum através de uma função.
Para aqueles que procurarem futuramente sobre o mesmo problema, segue o código que colore o maior valor de cada uma das linhas selecionadas:
Sub ColorirMaiorLinha()
Dim aux As Integer
Dim aux2 As Integer
Dim posicaoLinha As Integer
Dim posicaoColuna As Integer
Dim CelulaAux As Variant
Dim linhasCont As Integer
Dim colunasCont As Integer
Dim conteudo As Variant
Dim Celula As Range
Set Celula = Selection
CelulaAux = 0
linhasCont = Celula.Rows.Count
colunasCont = Celula.Columns.Count
conteudo = Celula.Value
For aux = 1 To linhasCont
For aux2 = 1 To colunasCont
If IsNumeric(conteudo(aux, aux2)) Then
If conteudo(aux, aux2) > CelulaAux Then
CelulaAux = conteudo(aux, aux2)
posicaoLinha = aux
posicaoColuna = aux2
End If
End If
Next aux2
Celula.Cells(posicaoLinha, posicaoColuna).Interior.Color = vbCyan
CelulaAux = 0
Next aux
End Sub
Se eu quisesse colorir o maior de todas as linhas eu teria o código:
Sub ColorirMaior()
Dim aux As Integer
Dim aux2 As Integer
Dim posicaoLinha As Integer
Dim posicaoColuna As Integer
Dim CelulaAux As Variant
Dim linhasCont As Integer
Dim colunasCont As Integer
Dim conteudo As Variant
Dim Celula As Range
Set Celula = Selection
CelulaAux = 0
linhasCont = Celula.Rows.Count
colunasCont = Celula.Columns.Count
conteudo = Celula.Value
For aux = 1 To linhasCont
For aux2 = 1 To colunasCont
If IsNumeric(conteudo(aux, aux2)) Then
If conteudo(aux, aux2) > CelulaAux Then
CelulaAux = conteudo(aux, aux2)
posicaoLinha = aux
posicaoColuna = aux2
End If
End If
Next aux2
Next aux
Celula.Cells(posicaoLinha, posicaoColuna).Interior.Color = vbCyan
End Sub
Postado : 31/10/2012 3:41 pm