Jump to content

Reemplazar valores


Recommended Posts

Buenas  tardes;

-Adjunto una macro con una serie de valores y en una determinad columna los tengo separados por comas.

Ejemplo:

12, 20 ,11,102,6,205, etc...

Os he marcado con dos colores porque dichos colores forman como una especie de binomio.

Puede haber uno o hasta veinte.

Lo que quiero es reemplazar el número que pongo de color azul por texto.

MS, 20 ,LS,102,PS,205, etc...

Enlace video:

https://youtu.be/sJxiPJ96eC4

También adjunto macro.

Saludos a todos.

MMaq.zip

Link to comment
Share on other sites

Hola Benito

Adjunto una propuesta realizada con UDF.

Adicioné una columna donde puse la función y eliminé casi todas las filas para que el archivo sea mucho más pequeño.

La que da error es porque estás intentando buscar el depósito 23 y no existe en el listado.

MMaq.xlsm

Link to comment
Share on other sites

Hace 36 minutos , JasallBcn dijo:

Buenas Te paso 1 Solución

añadí unos depósitos que no están en la tabla ( 19,20,21,22,23)

también e dejado solo 1000 líneas ya que excedía los2 Mb.

Suerte

MMaq_V2.xlsm 1.73 MB · 1 descarga

He probado y creo que está correcto. 

Seguiré haciendo pruebas  hoy y mañana te cuento si es del todo correcto.

Mu agradecido JasallBon.

Link to comment
Share on other sites

Hace 24 minutos , DiegoPC dijo:

Hola Benito

Adjunto una propuesta realizada con UDF.

Adicioné una columna donde puse la función y eliminé casi todas las filas para que el archivo sea mucho más pequeño.

La que da error es porque estás intentando buscar el depósito 23 y no existe en el listado.

MMaq.xlsm 24.8 kB · 1 descarga

Hola Diego;

También he visto tú propuesta y también me gusta.

Haré mas pruebas y cualquier cosa te comento.

También muy agradecido por su respuesta.

Saludos.

Link to comment
Share on other sites

Hace 17 horas, JasallBcn dijo:

Buenas Te paso 1 Solución

añadí unos depósitos que no están en la tabla ( 19,20,21,22,23)

también e dejado solo 1000 líneas ya que excedía los2 Mb.

Suerte

MMaq_V2.xlsm 1.73 MB · 3 descargas

Buenos días Jasall;

He estado haciendo pruebas y no encuentro el fallo, me temo que tengo que cambiarte la nota 😅.

Te pondré una buenaaaa

Saludos y hasta la próxima.

Link to comment
Share on other sites

Hace 17 horas, DiegoPC dijo:

Hola Benito

Adjunto una propuesta realizada con UDF.

Adicioné una columna donde puse la función y eliminé casi todas las filas para que el archivo sea mucho más pequeño.

La que da error es porque estás intentando buscar el depósito 23 y no existe en el listado.

MMaq.xlsm 24.8 kB · 2 descargas

Hola Diego;

-Tienes razón con respecto al error que realmente no lo es el fallo es que ese depósito no estaba indicado.

Propuesta super buena. 

Me temo  que también tengo que cambiarte la nota 😅.

Saludos y hasta la próxima.

Link to comment
Share on other sites

Hace 15 horas, Gerson Pineda dijo:

Hola Gersón;

Primero agradecerte el detalle de contestar y segundo al igual que @JasallBcny @DiegoPC está perfecto.

Me facilitó muchísimo el trabajo.

Podéis poner las tres como buenas.

Saludos y hasta la próxima.

Link to comment
Share on other sites

Buenas, no se porque empieza a buscar en la tabla depositos despues de la  1º fila . entiendo que todas las que hay que cambiar el 1 por el deposito lo hace mal. 

cambia la linea por esta.

Set c = Hoja2.Range("A:A").Find(Matriz(d), LookIn:=xlValues)

saludos

Link to comment
Share on other sites

Hace 14 minutos , JasallBcn dijo:

Buenas, no se porque empieza a buscar en la tabla depositos despues de la  1º fila . entiendo que todas las que hay que cambiar el 1 por el deposito lo hace mal. 

cambia la linea por esta.

Set c = Hoja2.Range("A:A").Find(Matriz(d), LookIn:=xlValues)

saludos

Hola Jasall y gracias por responder.

Ahora sí lo hace bien, no entiendo la tabla es correcta y tiene los mismos valores es más ahora coge toda la columna cuando con la tabla solo coge los valores reales.

He visto  también que Frank me menciona errores de que falta número de depósito y sí es correcto, seguramente ya te habrías dado de cuenta.

Esto lo arreglo añadiendo el número de depósitos que faltan.

Saludos y muchas Jasall.

Link to comment
Share on other sites

Hace 20 minutos , Frank2021 dijo:

Hola

Envío mi solución. Contempla control de errores.

Saludos
 

image.thumb.png.8305f6bb51fa88b64a9d2f32e1b5e837.png

MMaq v2.xlsm 605.77 kB · 0 descargas

Hola Frank, tu opción también esta muy bien. Soy consciente de los errores que comentas.

Eso se debe a que en su momento la base de datos funcionaba con unos depósitos que ahora no tenemos en la nueva y por eso faltan.

Saludos y muy agradecido como siempre.

Link to comment
Share on other sites

Hace 4 minutos , Benito Bartolomé dijo:

Veo que has puesto también un timer para ver el tiempo que demora.

Si, también sugerirte que para estos procesos, es mejor correr un procedimiento a utilizar formulas, porque asumo que tu libro tiene o tendrá mas datos

 

Saludos 

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Crear macros Excel

  • Posts

    • Hola colegas, buenas tardes reiteradas. Vuelvo por acá, ahora para que me brinden ayuda con una alerta. Me explico: Este es el proyecto del que les comenté que mi Jefe me pidió hacer. En el FrmCombustible debo crear dos (2) alertas, UNA - Que un (1) mes antes de vencerse las tarjetas me envíe un MsgBox : "La Tarjeta " &      " se vence en un mes"                 El Listado de tarjetas está en la Hoja5 (Auxiliares). Se debe tener en cuenta que puede estar en blanco o vacío (Empty) este campo. Yo comencé a trabajarlo, pero me "perdí", porque creo se debe generar un ciclo que recorra las tarjetas y las fechas de vencimientos y las compare con la fecha actual. (Modulo4 ) DOS - En este mismo Formulario (FrmCombustible), necesito me envíe una alerta cuando una tarjeta X tenga un consumo de 350, porque el valor máximo a tener es de 400. (Columna "Consumo") Esto puede ser al abrir el archivo o al cargar el formulario. De estos "AVISOS" tengo  que hacer algunos más, pero con la ayuda de ustedes con estos dos puedo hacer los que me falten. Mil gracias de antemano. Espero puedan comprenderme. Un abrazo a todos. Pino Sistema de Matto Autos.xlsm
    • Gracias profesor Antoni, perfecto. Muy agradecido por su oportuna, pronta y eficaz respuesta. En estos días voy a tener que acudir a ustedes en varias ocasiones, porque el Proyecto que mi Jefe me pidió que hiciera es más de lo que mis conocimientos "almacena", pero son retos que me gustan porque aprendo de ellos. Saludos a Usted, AValencia, Haplox y JSD, que por cierto hace días no lo "veo" por el Foro, pero espero que se encuentre bien de salud, y a todo el resto del tremendo equipo de AyudaExcel. Mis respetos. Pino  
    • Hola Lo que necesito es que cuando se posicione en la celda activa, que tiene que ser la G8 y ésta esté vacía, muestre el formulario UserForm1 Lo que yo tengo hasta ahora es esto, que me enseña el formulario cuando la celda activa es la G8,   If ActiveCell.Address ="$G$8" then UserForm1.Show Else UserForm1.Hide  
    • He hecho un pequeño retoque en los procedimientos de modificar, insertar y doble_click en la lista. Probado., Ordenes v1.0.0 (1).xlsm
    • Muchas gracias Antoni por la respuesta y su tiempo. intente con lo que recomienda y me da este error "[microsoft][ODBC SQL Server Driver][SQL Server]Column name or nomber of suplied values does not matsch table definitions" Todo el codigo que estoy utilizando es el siguiente: Private Sub InsertarFila() Sql = "INSERT INTO Proceso_Sucesorios VALUES(" Sql = Sql & "'" & ActiveCell.Offset(0, 26) & "'," Sql = Sql & "'" & ActiveCell.Offset(0, 0) & "'," Sql = Sql & ActiveCell.Offset(0, 8) & "," Sql = Sql & ActiveCell.Offset(0, 9) & "," Sql = Sql & "'" & ActiveSheet.Range("H3").Value & "'," Sql = Sql & "'" & Format(ActiveSheet.Range("J3").Value, "YYYY-MM-DD") & "'," Sql = Sql & "'" & ActiveSheet.Range("M1").Value & "'," Sql = Sql & "'" & Format(ActiveSheet.Range("N1").Value, "YYYY-MM-DD hh:mm:ss") & "')" Cnn.Execute Sql, , adCmdText Exit Sub El error anterior no esta ahora es un error que al parecer sin firentes la columnas por esto adjunto una imagen de la estructura de la table a la cual estoy enviando la información:      De verdad valoro mucho la ayuda.
  • Recently Browsing

    • No registered users viewing this page.
×
×
  • Create New...

Important Information

Privacy Policy