Mayo, mes de la productividad con Excel, Power BI e IA | Clase en vivo privada este sábado 16 de mayo de 2026. Clic aquí →
hace 3 meses 💬 Comentario
Buenas Tardes Julia

Abajo la variante usando select case


Dim Fila As Integer
Dim UltimaFila As Integer
Dim Valor As Variant
Dim Resultado As String

' Detectar la última fila con datos en la columna A
UltimaFila = Cells(Rows.Count, 1).End(xlUp).Row

' Recorre las filas con datos en la columna A
For Fila = 5 To UltimaFila
    Valor = Range("A" & Fila).Value

    ' Evaluar el tipo de dato
    
    Select Case True
    
           Case VBA.IsEmpty(Valor)
                Resultado = "Celda vacía"
           Case VBA.IsDate(Valor)
                ' Si es una fecha, formatearla en formato largo
                Resultado = VBA.FormatDateTime(Valor, vbLongDate)
           Case VBA.IsNumeric(Valor)
                ' Si es un número, convertirlo y formatearlo como moneda
                If Valor >= 0 Then
                    Resultado = VBA.FormatCurrency(Valor, 2)
                Else
                    Resultado = VBA.Format(Valor, "($#,##0.00)")
                End If
           Case Else
                ' Si no es válido, mostrar mensaje de error
                Resultado = "No es un número válido"
    End Select
Range("B" & Fila).Value = Resultado

Next Fila

Respuestas 1

Respuesta visible solo para estudiantes inscritos