¿Cómo captuar el contenido de una celda SI es fórmula O si es cadena de texto?

Quiero evaluar con VBA si una celda tiene una fórmula, o una cadena de texto, o un numero, y de acuerdo a eso capturar la fórmula (No el resultado de su evaluación), o si es simplemente una cadena de texto o un numero y capturar eso.

2 respuestas

Respuesta
1

Cristian David,

Adjunto código para el desarrollo de tu consulta y puedas revisarlo.

La macro evalúa la celda activa.

Sub EvaluarCelda()
If ActiveCell.HasFormula Then
    Range("C1") = "'" & ActiveCell.FormulaLocal
Else
    Range("C1") = ActiveCell
End If
End Sub

Por favor no olvidar de valorar las respuestas.

Respuesta
1

No me queda claro lo que quieres aun asi te paso un ejemplo

La macro esta hecha para trabajar con todo el rango con datos de la columna b2, (c2 es solo una referencia), la macro te dira que ocupa cada celda si un numero, un texto o una formula

Sub copiar()
    Set datos = Range("b2").CurrentRegion
    With datos
        filas = .Rows.Count
        For i = 1 To filas
            VALOR = .Cells(i, 1)
            Formula = .Cells(i, 1).HasFormula
            If IsNumeric(VALOR) And Formula = False Then MsgBox ("ES numero"), vbInformation, "AVISO"
            If WorksheetFunction.IsText(VALOR) Then MsgBox ("ES TEXTO"), vbInformation, "AVISO"
            If IsNumeric(VALOR) And Formula = True Then MsgBox ("ES FORMULA"), vbInformation, "AVISO"
        Next i
    End With
End Sub

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas