Pregunta para Elsamatilde...

Hola Elsa, después de tener montada una cadena de números separados por comas provenientes de una evaluación, pretendo averiguar el valor máximo pero claro.... La cadena de números es un texto y no funciona esta macro. ¿cómo se puede utilizar esa cadena para hacerla funcionar con la sentencia WorksheetFunction.Max??

Sub ejemplo()
...................
...................
...............
If ActiveCell.Value ...................
Lista = lista & "," & p
End If
........................
......................
..............
Lista = Mid(lista, 2, Len(lista) - 1) 'quitamos la primera coma
valor_maximo = Application.WorksheetFunction.Max(lista)
msgbox valor_maximo
End Sub

gracias,

1 respuesta

Respuesta
1

En lugar de guardar los valores en una cadena los tenés que guardar en una matriz.

Te dejo un ejemplo donde se guardan los valores de la fila 2 de la hoja activa.

Como veo que tenés una comparación, en mi ejemplo se controla que la celda no esté vacía.

Sub maximoMatriz()
'x Elsamatilde
Dim MiMatriz() As Integer
Dim canti As Integer, i As Integer
'establezco la cantidad de elementos en fila 2
canti = Range(Range("A2"), Range("XX2").End(xlToLeft)).Columns.Count
'redimensiona la matriz
ReDim MiMatriz(canti)
'carga datos en la matriz
For i = 1 To canti
If Cells(2, i) <> "" Then
 MiMatriz(i) = Cells(2, i)
End If
Next i
'obtiene el valor máximo
valor_maximo = Application.WorksheetFunction.Max(MiMatriz)
MsgBox valor_maximo
End Sub

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas