Saltar al contenido

Ayuda macro archivo txt


juanca23

Recommended Posts

publicado

Buenas tardes, me pueden ayudar con una macreo tengo un archivo txt necesito abrirlo en excel, el archivo txt es el siguiente

REPORTE DE COLABORACIONES GERENAL

TIENDA 0003

SECTOR|PROVEEDOR|DESCRIPCION|FECHA INIC|FECHA FINA|PERIOD|CONCEPTO|%|

1 0|147.0|CASA VINICOLA LOS FRAYLES S.A.|01/01/2012|12/31/2012|M|DCO|4.0|

1 0|147.0|CASA VINICOLA LOS FRAYLES S.A.|01/01/2012|12/31/2012|M|PUB|4.0|

1 0|165.0|COLDECOM LTDA CIA S.C.A.|01/01/2012|12/31/2012|M|CAB|7.0|

1 0|165.0|COLDECOM LTDA CIA S.C.A.|01/01/2012|12/31/2012|M|DCO|1.0|

1 165.0|COLDECOM LTDA CIA S.C.A.|01/01/2012|12/31/2012|M|PUB|2.0|

1 0|166.0|COLOMA LTDA|02/01/2012|12/31/2012|M|DCO|3.0|

1 0|170.0|DISSANTAMARIA S.A.|01/01/2012|12/31/2012|M|CAB|2.0|

1 0|170.0|DISSANTAMARIA S.A.|01/01/2012|12/31/2012|M|DCO|4.5|

1 0|178.0|INVERSIONES DE LA 23 LTDA|01/01/2012|12/31/2012|M|DCO|3.0|

pero necesito que el archivo se cargue en excel de la sigueinte forma

TIENDA SECTOR PROVEEDOR DESCRIPCION FECHA UNIC FECHA FINAL PERIOD CONCEPTO %

lo que pasa es que en el archivo tiene cargada mas de 100 tiendas

anexo el archivo txt y formato excel

Escritorio.zip

publicado

si la utilice pero si te das cuenda en el archivo txt "REPORTE DE COLABORACIONES GERENAL" despues hay un espacio y sigue con TIENDA 003 lo esta debajo de la tienda lo pude separar pero como el archivo txt tiene varias TIENDAS y necesito que el archivo me quede TIENDA SECTOR PROVEEDOR DESCRIPCION FECHA UNIC FECHA FINAL PERIOD CONCEPTO %

espero me entiendas

Gracias

publicado
Hola,

Contestar con un video es bastante útil, ya lo he hecho en otras oportunidades, ¿que programa estas usando para la captura?

Ex!to's .... con las colaboraciones..

Gabriel Raigosa

Hola! utilizo ScreenR, de echo veo que ya publicaste el video, pero solo es de importacion... lo malo de screenr es que solo deja grabar a lo sumo 5 minutos, pero me gusto!

Veo que cacho R ya contesto y dio solucion usando VBA... Esta es la mia si usar VBA, ignoro si son varios archivos los que se procesaran, pero considero muy util saber como se hace esto desde excel, para posteriormente aplicarse a problemas similares, despues simplemente se puede usar la grabadora de macros y hacer pequeñas modificaciones al codigo grabado.

[h=2]Excel - Video Tutoriales[/h]

Saludos!

Invitado Cacho R
publicado
Agunta hare un video tutorial de los que pides, mucho tiene problemas similares de este tipo y creen que la unica opcion es por medio de macros en Excel

Coincido totalmente con Luis: una macro -para una dificultad como la planteada- no es la única opción... ¡Es la mejor de entre todas ellas!

(jajajajaaj)

Invitado Cacho R
publicado

Juan Carlos:

Llamamos "macros" a programas que -entre otras cosas- nos permiten automatizar tareas.

Dentro del Office, esas macros se escriben a través de un lenguaje de programación llamado Visual Basic for Application (VBA).

Y si de "lenguaje" hablamos, bien vale una metáfora comparativa... Tú hablas español igual que yo por lo que te pregunto: ¿Cuántos videos explicativos crees que se requieren para aprender a dominar nuestro lenguaje?... ¿Decenas?... ¿Centenares?...

¿Comprendes, entonces, que no tiene sentido solicitar un video explicando cuál es el proceso para realizar la macro, cuando lo que se requiere -para dominar este lenguaje de programación- son decenas de ellos?...

En resumen: Si quieres aprender gratuitamente sobre macros, puedes utilizar a San Google, consultando sobre curso gratis de macros en excel (por ejemplo) y encontrarás centenares de miles de enlaces, todos ellos de mucha utilidad. También puedes utilizar los buscadores de los Foros sobre Excel y encontrarás instructivos -sobre la cuestión- de a puñados.

Un comentario final:

Si deduces de la sugerencia previa que estudiar sobre macros (y llegar a un conocimiento profundo) te habrá de demandar meses (quizás años)... ¡Estás en lo cierto!

Saludos, Cacho R.

publicado
Si deduces de la sugerencia previa que estudiar sobre macros (y llegar a un conocimiento profundo) te habrá de demandar meses (quizás años)... Saludos, Cacho R.

Pues yo creo que hay que cambiar algo...

te habrá de demandar años (y no poquitos.) ...

Hola;

Yo he dictado varios cursos de Excel , ya perdí la cuenta, y una pregunta frecuente o comentario frecuente es el relacionado con el tiempo necesario para dominar el Excel y eso sin hablar de macros (VBA), a lo que defitivamante no se le puede dar una respuesta, pues cuando creemos que sabemos demasiado es cuando realmente nos damos cuenta que lo que sabemos es muy poco.

Con respecto a la solicitud de video, quiero hacer un comentario, espero no molestar e incomodar a nadie, es la solicitud menos frecuente que he visto, si es que acaso no es la primera vez que alguien solicita ayuda en el foro indicando que quiere un video para resolver su "problema" de trabajo particular.

Yo personalmente siento un poco de molestia al ver como hay casos de personas que solicitan que les hagan su trabajo las cosas de el dia a dia de la oficina, no es este el caso, o de personas que solicitan en forma muy "inocente", que les hagan una aplicación desde cero.

Los videos son un recurso que algunas veces hemos usado para resolver dudas, y quienes los hemos hecho sabemos lo que esto significa "TIEMPO", entonces lo que uno espera de los "consultantes" es que también pongan de su parte en las consultas, que usen su tiempo para 'navegar' en internet, que investiguen, que estudien, en los foros no se trata de hacer el trabajo, este no es su objetivo, ni tampoco son una escuela o acadámia de profesores gratuitos, yo creo que a macro quedo más que bien, es un muy buen avance y que pretende ser el punto de partida para que el usuario, seguramente sorprendido de ver como la macro hace su trabajo, comience a estudiar por su cuenta el tema.

Cordialmente;

Gabriel

Ex!tos... :)

publicado

Llamamos "macros" a programas que -entre otras cosas- nos permiten automatizar tareas.

Dentro del Office, esas macros se escriben a través de un lenguaje de programación llamado Visual Basic for Application (VBA).

Y si de "lenguaje" hablamos, bien vale una metáfora comparativa... Tú hablas español igual que yo por lo que te pregunto: ¿Cuántos videos explicativos crees que se requieren para aprender a dominar nuestro lenguaje?... ¿Decenas?... ¿Centenares?...

¿Comprendes, entonces, que no tiene sentido solicitar un video explicando cuál es el proceso para realizar la macro, cuando lo que se requiere -para dominar este lenguaje de programación- son decenas de ellos?...

En resumen: Si quieres aprender gratuitamente sobre macros, puedes utilizar a San Google, consultando sobre curso gratis de macros en excel (por ejemplo) y encontrarás centenares de miles de enlaces, todos ellos de mucha utilidad. También puedes utilizar los buscadores de los Foros sobre Excel y encontrarás instructivos -sobre la cuestión- de a puñados.

Lamentablemente cacho tiene razon! si lo que quieres es realmente aprender a programar busca libros en google, los mejores estan en ingles, aunque me he topado conalgunos miy buenos en español. Para apredender a programar hay que programar (aprender los elementos basicos..), despues hay que procuparse por optimizar el codigo, etc...

Si solo querias una solucion a tu problema... bueno cacho ya lo hizo, pero aqui viene una buena pregunta que pasaria si el dia de mañana cambia el formato de tu archivo? otro tema solicicitando una modificacion? no dudo que alguien te apoye, pero te aseguro que es mucho mas gratificante poder resolverlo por uno mismo y/o aprender de las soluciones que en este foro se dan y adaptarlas a las necesidades!

Un comentario final:

Si deduces de la sugerencia previa que estudiar sobre macros (y llegar a un conocimiento profundo) te habrá de demandar meses (quizás años)... ¡Estás en lo cierto!

Esto creo que puede sonar muy desmotivante principalmente para un novato... si bien es cierto que el tener un conocimiento profundo puede ser proporcional al tiempo dedicado o invertido a aprender x cosa, intervienen otros factores...

Por ejemplo a mi solo me tomo 6 meses leyendo un buen libro de VBA/Excel poder solucionar la gran parte de los problemas que tenia en mi vida laboral, no recuerdo cuanto tiempo dedicaba, pero tienes la ventaja de contar con la grabadora de macros y que excel provee muchas herramientas que puede ahorrarte gran cantidad de lineas de codigo, pero hay que tener un solido conocimiento de estas. Ademas el principal punto:

"Un buen libro puede enseñarte el uso de varias herramientas o tecnologias, pero el saber como combinar todas estas herramientas y tecnologias para poder solucionar un problema es lo que marca la diferencia entre programadores"

Saludos!

Invitado Cacho R
publicado

Espero que Juan Carlos re-ingrese prontamente a su consulta y nos comente si le han sido de utilidad las ayudas brindadas y, así, dar por cerrado el tema antes que este intercambio se convierta en un tema propio del SubForo Cafetería Ayuda Excel (jajajaaja).

Me permito un par de observaciones:

... Con respecto a la solicitud de video, quiero hacer un comentario, espero no molestar e incomodar a nadie, es la solicitud menos frecuente que he visto...

Jajajajja... ¡Es muy cierto!

... yo creo que la macro quedo más que bien, es un muy buen avance y que pretende ser el punto de partida para que el usuario, seguramente sorprendido de ver como la macro hace su trabajo, comience a estudiar por su cuenta el tema...

El "tocayo" de García Márquez no lo podría haber expresado mejor.

... Por ejemplo a mi solo me tomó 6 meses leyendo un buen libro de VBA/Excel poder solucionar la gran parte de los problemas que tenia en mi vida laboral

Mis dos primeras necesidades laborales concretas las resolví con la grabadora de macros y un par de lecturas (previas búsquedas mediante San Google) de temas desarrollados en Foros sobre Excel en 6... días.

... Esto creo que puede sonar muy desmotivante principalmente para un novato...

Esto me "suena" a un exceso de condescendencia: ¿Por qué vamos a ocultar que para llegar a un conocimiento profundo de la materia son necesarios años de dedicación, estudios y paciencia?

La verdad sea dicha: si nuestro objetivo es satisfacer inquietudes menores, pues -hasta- con horas de dedicación podríamos resolverlas. Pero si aspiramos a palabras mayores (desarrollo de formularios para altas, bajas y modificaciones de tablas de datos, por ejemplo), digamos que "la cosa" requiere otros niveles de entrega y dedicación que se miden en años, ¿O no?...

publicado

Hola,

Pasemos a la cafetería ....

[ATTACH]35690.vB[/ATTACH]

Y como ya sabes mi tocayo y yo somos del mismo pais al igual que juanca23

Estan preparando reportes de las cosa que se venden por estos dias, otros dias también, en los almacenes de cadena, y esta sobre el tiempo (como casi siempre) y en su empresa no estan esperando el fin del mundo (21-dic, aplazado según nuevos descubrimientos arqueológicos) para el reporte, que debe ser "ya" y si es de Medellín (cosa muy probable) les toca trabajar desde las 6:00 AM - hasta las 6:00 PM, sabados, domingos y festivos... :confusion:

A la gente de compras (no digo que Juan Carlos sea de compras), tes toca un voleo de números barbaro...

Gabriel

Ex!tos... :)

post-23001-145877006687_thumb.jpg

Invitado Cacho R
publicado
Gracias Chacho R, quiero aprender a manejar muy bien macros y tendré que hacer lo que me dices, ya que eres un experto me puedes ayudar con esta otra macro de otro txt, que esta en este nuevo tema

https://www.ayudaexcel.com/foro/varios-11/ayuda-macro-para-archivo-txt-26783/#post130802

Gracias por la ayuda

... Y como ya sabes mi tocayo y yo somos del mismo pais al igual que juanca23 ...

Hay dos buenas razones por la que se me complica ayudarle al amigo JC:

1º) El sustantivo ancheta no lo usamos "ni de broma" en mi país (Argentina)...

Bueno... No quiero ser terminante: ¡Quizás haya un par de gauchos que lo usen (vaya Ud. a saber)!.

2º) La ayuda que necesita para su segunda consulta es -conceptualmente- la misma que la aquí brindada. De modo que sugiero darle un "tiempito" para que estudie la macro elaborada expresa y gratuitamente y esté -de ese modo- en condiciones de adaptarla a la nueva exigencia.

Además, y valga mencionarlo: siempre le quedará la opción contratar a "uno que sabe" para que le haga el trabajo, ¿No es así?...

Saludos para todos.

Cacho R.

publicado
1º) El sustantivo ancheta no lo usamos "ni de broma" en mi país (Argentina)...
ancheta.

1. f. Porción corta de mercancías que alguien lleva a vender a cualquier parte.

2. f. Pacotilla de venta que se llevaba a América en tiempo de la dominación española.

3. f. Am. Negocio, bicoca. U. m. en sent. irón.

4. f. Am. Cosa inoportuna o sin importancia, o que revela desfachatez o descaro.

5. f. Col. Gratificación, dádiva.

Esto encontré en la RAE.

Gabriel

Archivado

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

  • 109 ¿Te parecen útiles los tips de las funciones? (ver tema completo)

    1. 1. ¿Te parecen útiles los tips de las funciones?


      • No
      • Ni me he fijado en ellos

  • Ayúdanos a mejorar la comunidad

    • Donaciones recibidas este mes: 0.00 EUR
      Objetivo: 130.00 EUR
  • Archivos

  • Estadísticas de descargas

    • Archivos
      188
    • Comentarios
      98
    • Revisiones
      29

    Más información sobre "Cambios en el Control Horario"
    Última descarga
    Por pegones1

    4    1

  • Crear macros Excel

  • Mensajes

    • Hola, veo que tienes 365, así que esta forma funcionará   Almacen.xlsx
    • Buenos días  @LeandroA espero estes bien Tengo un caso idéntico al planteado en la siguiente pregunta: Sin embargo, a diferencia de quien planteo originalmente la pregunta al correr el código no obtengo ningún resultado podrían ayudarme a resolver este inconveniente y que al hacer click en el Botón Guardar (CommandButton3) del Formulario RCS (frmrcs) el archivo pdf quede configurado con orientación vertical, márgenes superior, inferior, derecho e izquierdo = 1 y en página tamaño carta. Si acaso influye uso Microsoft Excel LTSC MSO (versión 2209 Compilación16.0.1.15629.20200) de 64 bits Mucho le sabre agradecer la ayuda que me pueda dar  RCS PRUEBA - copia.xlsm
    • @JSDJSDCon gusto mi estimado Para la opción 1: Sub Surtirhastadondealcanse() Dim ws As Worksheet Set ws = ThisWorkbook.Sheets(1) Dim filaInicio As Integer: filaInicio = 4 Dim filaFin As Integer: filaFin = 7 Dim colInventario As Integer: colInventario = 2 Dim colSolicitudesInicio As Integer: colSolicitudesInicio = 4 ' Columna C Dim colResultadoInicio As Integer: colResultadoInicio = 9 ' Columna I Dim colTotalSurtido As Integer: colTotalSurtido = 12 ' Columna L Dim colFinalInventario As Integer: colFinalInventario = 13 ' Columna M Dim numClientes As Integer: numClientes = 3 Dim fila As Integer, i As Integer For fila = filaInicio To filaFin Dim inventario As Double inventario = Val(ws.Cells(fila, colInventario).Value) Dim solicitudes(1 To 3) As Double Dim surtido(1 To 3) As Variant Dim totalSurtido As Double: totalSurtido = 0 ' Leer solicitudes For i = 1 To numClientes If IsNumeric(ws.Cells(fila, colSolicitudesInicio + i - 1).Value) Then solicitudes(i) = CDbl(ws.Cells(fila, colSolicitudesInicio + i - 1).Value) Else solicitudes(i) = 0 End If surtido(i) = "POR FALTA STOCK" Next i ' Surtir de acuerdo al inventario disponible For i = 1 To numClientes If solicitudes(i) > 0 Then If inventario >= solicitudes(i) Then surtido(i) = solicitudes(i) inventario = inventario - solicitudes(i) totalSurtido = totalSurtido + solicitudes(i) ElseIf inventario > 0 Then surtido(i) = inventario totalSurtido = totalSurtido + inventario inventario = 0 Else surtido(i) = "POR FALTA STOCK" End If End If Next i ' Escribir resultados en las columnas correspondientes para cada cliente For i = 1 To numClientes With ws.Cells(fila, colResultadoInicio + i - 1) If surtido(i) = "POR FALTA STOCK" Then .Value = surtido(i) .Font.Color = vbRed Else .Value = surtido(i) .Font.Color = vbBlack End If End With Next i ' Escribir total surtido y existencia final ws.Cells(fila, colTotalSurtido).Value = totalSurtido ws.Cells(fila, colFinalInventario).Value = inventario Next fila MsgBox "Resultado surtido cargado con éxito...", vbInformation End Sub Para la opción 2:   Sub surtirenpartesiguales() Dim ws As Worksheet Set ws = ThisWorkbook.Sheets(1) Dim filaInicio As Integer: filaInicio = 13 Dim filaFin As Integer: filaFin = 16 Dim colInventario As Integer: colInventario = 2 Dim colSolicitudesInicio As Integer: colSolicitudesInicio = 4 ' Columna C Dim colResultadoInicio As Integer: colResultadoInicio = 9 ' Columna I Dim colTotalSurtido As Integer: colTotalSurtido = 12 ' Columna L Dim colFinalInventario As Integer: colFinalInventario = 13 ' Columna M Dim numClientes As Integer: numClientes = 3 Dim fila As Integer, i As Integer For fila = filaInicio To filaFin Dim inventario As Double inventario = Val(ws.Cells(fila, colInventario).Value) Dim solicitudes(1 To 3) As Double Dim surtido(1 To 3) As Variant Dim totalSurtido As Double: totalSurtido = 0 Dim totalPedido As Double: totalPedido = 0 ' Leer solicitudes For i = 1 To numClientes If IsNumeric(ws.Cells(fila, colSolicitudesInicio + i - 1).Value) Then solicitudes(i) = CDbl(ws.Cells(fila, colSolicitudesInicio + i - 1).Value) totalPedido = totalPedido + solicitudes(i) Else solicitudes(i) = 0 End If surtido(i) = 0 Next i ' Si hay suficiente inventario, surtir lo que el cliente pide If inventario >= totalPedido Then For i = 1 To numClientes If solicitudes(i) > 0 And inventario >= solicitudes(i) Then surtido(i) = solicitudes(i) inventario = inventario - solicitudes(i) totalSurtido = totalSurtido + solicitudes(i) End If Next i Else ' Reparto base igualitario Dim baseSurtido As Long baseSurtido = Int(inventario / numClientes) For i = 1 To numClientes If solicitudes(i) > 0 Then If solicitudes(i) <= baseSurtido Then surtido(i) = solicitudes(i) inventario = inventario - solicitudes(i) totalSurtido = totalSurtido + solicitudes(i) Else surtido(i) = baseSurtido inventario = inventario - baseSurtido totalSurtido = totalSurtido + baseSurtido End If End If Next i ' Repartir sobrante restante uno por uno, respetando lo pedido Do While inventario > 0 For i = 1 To numClientes If surtido(i) < solicitudes(i) Then surtido(i) = surtido(i) + 1 totalSurtido = totalSurtido + 1 inventario = inventario - 1 If inventario = 0 Then Exit For End If Next i Loop End If ' Escribir resultados en las columnas correspondientes para cada cliente For i = 1 To numClientes With ws.Cells(fila, colResultadoInicio + i - 1) If surtido(i) = 0 Then .Value = "POR FALTA STOCK" .Font.Color = vbRed Else .Value = surtido(i) .Font.Color = vbBlack End If End With Next i ' Escribir total surtido y existencia final ws.Cells(fila, colTotalSurtido).Value = totalSurtido ws.Cells(fila, colFinalInventario).Value = inventario Next fila MsgBox "Resultado surtido cargado con éxito...", vbInformation End Sub Saludos, Diego
    • Buenos dias.  Estoy trabajando en una hoja para poder llevar un control de un pequeño almacén.  Tengo un pedido con varias líneas y "lotes" y necesito sacar las ubicaciones que coincidan con la referencia y lote que pone en el pedido. El problema viene cuando tengo la misma referencia y mismo lote en ubicaciones diferentes y necesito sacar la información en columnas diferentes. No se si  me he explicado bien, pero creo que con el ejemplo adjunto se entiende mejor. Agradecería mucho si me pudieran ayudar  Libro1.xlsx
    • Exelente solución mil gracias 
  • Visualizado recientemente

    • No hay usuarios registrado para ver esta página.
×
×
  • 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.