Estoy tratando de encontrar una manera de eliminar una cadena de texto de las celdas que contienen un número inicial, ya que todo lo que necesito es el número para usarlo en una tabla dinámica.

A continuación, se muestra un ejemplo de los datos.

5 or more times
1 time
3 times
2 times

Estos datos se encuentran en la columna "BI" y se almacenan en una hoja de trabajo llamada "DB".

Tengo una macro para eliminar la hora de una columna con formato de fecha / hora y si pudiera ejecutar ambas, una tras otra, sería genial.

Aquí está el código para eliminar la hora de la fecha / hora.

Sub ToDate()
Dim LR As Long, i As Long

Sheets("DB").Select

LR = Range("N" & Rows.Count).End(xlUp).Row
For i = 2 To LR
    With Range("N" & i)
        .NumberFormat = "mm/dd/yyy"
        .Value = DateValue(.Value)
    End With
Next i

Sheets("Tasks").Select
GoTo Fin:

Fin:
MsgBox ("Process Completed")

End Sub
0
BlueSun3k1 23 ene. 2015 a las 19:43

3 respuestas

La mejor respuesta

Si siempre hay un espacio después del número, use

' Check that cell has a value
if .Value <> "" Then   
    .Value = Left(.Value,Instr(.Value," ")-1)
Endif

Utilice -1 para eliminar el espacio

3
Paul Kelly 23 ene. 2015 a las 18:18

Esto también funcionaría:

if .Value <> "" Then   
    .Value = Split(.Value, " ")(0)
Endif
1
D_Zab 23 ene. 2015 a las 19:12

Esto devolverá todo al principio de la cadena hasta un carácter de espacio. La razón por la que - 1 es importante es que no desea el carácter de espacio en su resultado final.

With Range("BI" & i)
    .Value = Left(.Value, InStr(.Value, " ") - 1)
End With
1
Chrismas007 23 ene. 2015 a las 17:14