Saltar al contenido

Duda hacerlo con Macro vs Manual


Recommended Posts

publicado

Buenos días, tengo una duda sencilla a priori pero que no entiendo el problema:

- He creado un botón que activa un reemplazar espacios (cuando las unidades son + 1000 hay un espacio). Si lo hago manualmente se queda el valor como numero pero si lo hago con la macro se queda como texto. El archivo de partida es un .txt y se pega en un excel.

 

adjunto el ejemplo txt. como veís la ultima fila es superior a 1000

rtoyprod.txt

publicado

te dejo este código @julioms23  a ver si te funciona y si es lo que buscabas

Sub remplazar()
With Application
.ScreenUpdating = False
Filas = [A2].CurrentRegion.Rows.Count    'numero de filas
       
       With Range("G4:Q" & Filas) 'columna para remplazar
       'buscar y remplazar
     .Replace What:=",", Replacement:=".", LookAt:=xlPart, _
        SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
        ReplaceFormat:=False
        .Replace What:=" ", Replacement:=",", LookAt:=xlPart, _
        SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
        ReplaceFormat:=False
        
       End With
   
.ScreenUpdating = True
End With
End Sub

saludos  isidro

publicado
Hace 48 minutos , julioms23 dijo:

Muchas gracias me funciona perfectamente. No había pensado que era la "," la que daba problemas.

 

Un saludo.

@isidrod perdona estoy revisando y no entiendo porque funciona. Me puedes explicar?

publicado

no soy muy bueno explicando pero te digo lo que realice grabe la macro buscar y remplazar que es el código buscar toda las comas y remplazarlo por punto

 .Replace What:=",", Replacement:=".", LookAt:=xlPart, _
        SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
        ReplaceFormat:=False

este otro pedazo de código busca espacio en blanco y lo remplaza por coma

.Replace What:=" ", Replacement:=",", LookAt:=xlPart, _
        SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
        ReplaceFormat:=False

y este código aquí en este foro me lo enseñaron

Filas = [A2].CurrentRegion.Rows.Count    'numero de filas que inicia
       
       With Range("G4:Q" & Filas) 'columna para remplazar

https://docs.microsoft.com/es-es/office/vba/api/excel.range.currentregion

https://www.excel-avanzado.com/2791/identificar-la-ultima-fila-en-uso-con-vba.html

espero que que quede claro tu duda, o si un experto aquí pueda dar mas información  mas amplia.

 Bueno que te funciono

saludos isidrod

 

Archivado

Este tema está ahora archivado y está cerrado a más respuestas.

×
×
  • Crear nuevo...

Información importante

Echa un vistazo a nuestra política de cookies para ayudarte a tener una mejor experiencia de navegación. Puedes ajustar aquí la configuración. Pulsa el botón Aceptar, si estás de acuerdo.