fíjate que el 2 indica la posición en la que quieres insertar el guión, así que en la macro sólo deberás cambiar el 2 por la posición en la que quieras el guión.
así que la macro igual podría ser (para texto de cualquier longitud):
- Código: Seleccionar todo
Sub prueba()
Dim uf As Long
uf = Range("a" & Rows.Count).End(xlUp).Row
Range("a1:a" & uf) = _
Evaluate("index(replace(a1:a" & uf & ",2,,""-""),0)")
End Sub
Hola nuevamente, he estado verificando el codigo y ya lo comprendi, ahora estoy intentando modificarlo para hacer dinamica la columna donde inicie a poner el guion y tengo este codigo no se que me sale mal que unas veces funciona y otras no, tendras alguna idea como mejorar el codigo.
Sub Guion()
Dim uf As Long
Set rng = Application.InputBox("celda a poner guion", "indicar celda", Type:=8)
rng.Select
Range(ActiveCell, ActiveCell.End(xlDown)).Select
ruta = Selection.Address(RowAbsolute:=False)
Range(ruta) = _
Evaluate("index(left(ruta,2)&""-""&right(ruta,1),0)")
End Sub
Gracias
espero tu respuesta
salu2



