Macro con condicional IF y busqueda de datos

Discute sobre la aplicación de hojas de cálculo
Responder
Ema989161
Mensajes: 6
Registrado: Vie Mar 31, 2017 5:27 pm

Macro con condicional IF y busqueda de datos

Mensaje por Ema989161 »

Buenas tardes, como estan?
Les consulto lo siguiente.
En Excel tengro generada una macro donde al ingresar un valor en un textbox me realiza una busqueda de ese valor en tres columnas para discriminar si se trata (en mi caso) de una DNI, un Nro de pedido o un codigo postal. Dependiendo de que datos se trate el ingresado ejecuta su respectiva macro.
El tema es que tengo que adaptar esa macro para que funcione en OpenOffice y no logro encontrar la forma de que me realice esa busqueda y discriminacion del dato ingresado para cumplir con las condiciones que le impongo.
No se si alguien me podria guiar un poco en esto.
Agrego a continuacion el codigo que tengo hecho en VBA el cual funciona perfecto.

Código: Seleccionar todo

Application.ScreenUpdating = False
Worksheets("Busqueda DNI").Range("I3").Value = TextBox1.Text
Worksheets("INICIO").Activate
    Set h1 = Sheets("Inicio")       'hoja inicio
    Set h2 = Sheets("DNI")          'hoja dnis
    Set h3 = Sheets("STL")      'hoja con números de pedido
    Set h4 = Sheets("Busqueda DNI")
    Set h5 = Sheets("Busqueda Pedido STL")
    Set h6 = Sheets("SUCURSALES")
        '
    Set dato = h4.Range("I3")  'celda con el dato a buscar
    If dato.Value = "" Then 'textbox sin valor ingresado
      MsgBox "Escribe un dato en la celda"
      h1.Select  
    End If
    
    Set b = h4.Range("J2:J1900").Find(dato, lookat:=xlWhole) 
    If Not b Is Nothing Then
    h2.Activate
    Call Carga_Datos_DNI 
            
    Else
        Set b = h4.Range("K2:K1900").Find(dato, lookat:=xlWhole)
        If Not b Is Nothing Then
            h3.Activate
            Call Carga_Datos_STL 
            
    Else
        Set b = h4.Range("L2:L87").Find(dato, lookat:=xlWhole)
        If Not b Is Nothing Then
            h6.Activate
        
    Else
            MsgBox "no se encontró lo buscado", vbExclamation
                    
        End If
    End If
    TextBox1 = Empty
Muchas gracias por la ayuda desde ya!
Saludos
OpenOffice 4.1.3, Windows 10 Pro
Avatar de Usuario
fornelasa
Mensajes: 3268
Registrado: Jue Feb 17, 2011 8:30 pm
Ubicación: Estado de México, México.

Re: Macro con condicional IF y busqueda de datos

Mensaje por fornelasa »

Es muy improbable que obtengas alguna ayuda con tan solo el codigo que has subido. Si lo vemos desde "aca" presenta varias incongruencias, por ejemplo:
1) Falta un End If
2) ¿Que hace por ejemplo la macro "Call Carga_Datos_DNI "?
3) Manejas varias hojas ¿donde esta tu archivo ejemplo?
4) ¿Y los controles?, por ejemplo el TextBox ....
5) Etc...

Necesitamos ser más claros.

Saludos, Federico.
lo 6.2.0 | aoo 4.1.6 | win 7/10
¡Un aplauso para todos los que luchan por proteger y promover la Web abierta!
Ema989161
Mensajes: 6
Registrado: Vie Mar 31, 2017 5:27 pm

Re: Macro con condicional IF y busqueda de datos

Mensaje por Ema989161 »

fornelasa escribió:Es muy improbable que obtengas alguna ayuda con tan solo el codigo que has subido. Si lo vemos desde "aca" presenta varias incongruencias, por ejemplo:
1) Falta un End If
2) ¿Que hace por ejemplo la macro "Call Carga_Datos_DNI "?
3) Manejas varias hojas ¿donde esta tu archivo ejemplo?
4) ¿Y los controles?, por ejemplo el TextBox ....
5) Etc...

Necesitamos ser más claros.

Saludos, Federico.
El archivo por una cuestión que posee datos sensibles de los clientes con los que se trabajan no puedo subirlo,razon por la cual la tenía una orientación general a lo que quería hacer.
El. Archivo maneja varias hojas donde desde un archivo base se traen los datos necesarios por medio de fórmulas buscarv.
Tanto las macro Carga_Datos_DNI como Carga_Datos_STL, una vez cumplida la condición llevan a la hoja de DNI o Pedidos y copian los datos encontrados por formulas buscarv (el término Call es el que uso para llamar a esas macros).
El textbox lo unico que hace es que lo ingresado se coloque en la celda especificada donde están las listas de DNI, Pedidos y CP para que por medio de una búsqueda me discrimine que tipo de dato ingrese.
El END If que falta fue un error se copia mío.

Mi consulta en último de los casos sería : que forma. Puedo utilizar para que oobasic pueda realizarme esa búsqueda y discriminar que dato ingreso en base a una lista de valores en los que tendría que buscar (el resto ya funciona dado que las macros siguientes están adaptadas ya).
OpenOffice 4.1.3, Windows 10 Pro
Ema989161
Mensajes: 6
Registrado: Vie Mar 31, 2017 5:27 pm

Re: Macro con condicional IF y busqueda de datos

Mensaje por Ema989161 »

Ni bien termine de probar el archivo con datos ficticios en Excel asegurandome que funcione con esos datos paso el modelo del archivo.
OpenOffice 4.1.3, Windows 10 Pro
Avatar de Usuario
fornelasa
Mensajes: 3268
Registrado: Jue Feb 17, 2011 8:30 pm
Ubicación: Estado de México, México.

Re: Macro con condicional IF y busqueda de datos

Mensaje por fornelasa »

¡excelente!, esperemos el archivo :D
Y así hasta yo podria traducir la macro :mrgreen:
Saludos, Federico.
lo 6.2.0 | aoo 4.1.6 | win 7/10
¡Un aplauso para todos los que luchan por proteger y promover la Web abierta!
Ema989161
Mensajes: 6
Registrado: Vie Mar 31, 2017 5:27 pm

Re: Macro con condicional IF y busqueda de datos

Mensaje por Ema989161 »

fornelasa escribió:¡excelente!, esperemos el archivo :D
Y así hasta yo podria traducir la macro :mrgreen:
Saludos, Federico.
Aca les dejo el enlace para la descarga del archivo

https://drive.google.com/open?id=0B8fHG ... WxmLVYxY2s

es un modelo con informacion ficticia pero sirve para ver como funciona.
Aclaracion importante: Debido a que soy medio novato en esto de VBA y ooBasic, los codigos que tiene el archivo son muy basicos practicamente (hasta muchas cosas seguramente hay formas mas faciles de hacer). Es lo que pude armar con mis conocimientos y mis ideas.

Espero les sirva para ver mas o menos lo que quiero hacer en ooBasic

Gracias desde ya por la ayuda.
Saludos
OpenOffice 4.1.3, Windows 10 Pro
Avatar de Usuario
fornelasa
Mensajes: 3268
Registrado: Jue Feb 17, 2011 8:30 pm
Ubicación: Estado de México, México.

Re: Macro con condicional IF y busqueda de datos

Mensaje por fornelasa »

Bien, el archivo ya ha se ha subido, ahora para no obligar al que quiera ayudarte a leer todo el codigo de lo que deseas hacer, con palabras explica por favor que hace tu codigo , ¿puedes poner un ejemplo practico?

Saludos, Federico.
lo 6.2.0 | aoo 4.1.6 | win 7/10
¡Un aplauso para todos los que luchan por proteger y promover la Web abierta!
Ema989161
Mensajes: 6
Registrado: Vie Mar 31, 2017 5:27 pm

Re: Macro con condicional IF y busqueda de datos

Mensaje por Ema989161 »

fornelasa escribió:Bien, el archivo ya ha se ha subido, ahora para no obligar al que quiera ayudarte a leer todo el codigo de lo que deseas hacer, con palabras explica por favor que hace tu codigo , ¿puedes poner un ejemplo practico?

Saludos, Federico.


Buenas noches,
Les pido disculpas por la demora en contestar. Estuve con problemas de salud grave obligándome a no poder responder.
les comento como funciona el buscador .

AL introducir un dato en el textbox de la hoja INICIO, este se inserta en la celda I3 de la hoja "Busqueda DNI" donde la macro del botón Buscar busca este valor entre las columnas J, K y L de la hoja para diferenciar de que tipo de dato se trata el ingresado.
Una vez hecho eso se llama a la macro correspondiente ya sea para buscar los datos desde DNI, desde Nro de Pedido o por Codigo Postal.
En el caso de las macros Carga_Datos_DNI y Carga_Datos_STL (ambas hacen lo mismo), estas una vez ejecutada lo que hace ademas de mostrar la hoja DNI o STL respectivamente y ocultar las demás, copia los datos encontrados por formulas desde la hoja "Busqueda por DNI" o "Busqueda po Nro STL" respectivamente y los pega en la hoja "DNI" o "STL" respectivamente en sus lugares correspondientes manteniendo el formato de destino, para luego proteger las hojas nuevamente.
Si no se encuentra conincidencia en la busqueda , arroja el mensaje "No se encontró lo buscado".
Luego esta la macro del botón Actualizar BASE ANDREANI, que en si lo que hace es abrir un archivo especifico, copiar su contenido y pegarlo en la hoja eAndreani-17-2-2017. En este caso les arrojara el mensaje que no se encuentra dicho archivo ya que no lo encuentra la macro.

Pueden probar de usar estos datos para las búsquedas (DNI 166778898 , Nro PEDIDO 54341266)

Les envío el link nuevamente ya que tuve que resubir el archivo con una modificación en sus datos (no en los códigos de las macros), ya que si prueban de hacer una búsqueda con los datos que les brindo aquí no les arrojara información debido a la modificación de la información contenida.

https://drive.google.com/open?id=0B8fHG ... WxmLVYxY2s

Perdón desde ya por la extensión de esta respuesta y muchas gracias por la ayuda.
OpenOffice 4.1.3, Windows 10 Pro
Avatar de Usuario
fornelasa
Mensajes: 3268
Registrado: Jue Feb 17, 2011 8:30 pm
Ubicación: Estado de México, México.

Re: Macro con condicional IF y busqueda de datos

Mensaje por fornelasa »

20 años después ..... :D
Si buscamos mayor compatibilidad entre Calc y Excel debemos usar LibreOffice (LO).
Recomiendo bajar la versión de LO que dice mi firma.
Con unos ligeros "toques" a tu macro de Excel funciona en LO.
No he ajustado los botones Volver, solo trabajé las macros del primer post de este debate.

Nota: No es prudente trabajarlo con OpenOffice porque de Excel vienen funciones que no existen en OpenOffice como por ejemplo la función SI.ERROR,

Ojala y sirva.
https://mega.nz/#!yNtVGbSR!BrUJyJr_Oe5k ... Ol3t12FJPA

Saludos, Federico.
lo 6.2.0 | aoo 4.1.6 | win 7/10
¡Un aplauso para todos los que luchan por proteger y promover la Web abierta!
Ema989161
Mensajes: 6
Registrado: Vie Mar 31, 2017 5:27 pm

Re: Macro con condicional IF y busqueda de datos

Mensaje por Ema989161 »

fornelasa escribió:20 años después ..... :D
Si buscamos mayor compatibilidad entre Calc y Excel debemos usar LibreOffice (LO).
Recomiendo bajar la versión de LO que dice mi firma.
Con unos ligeros "toques" a tu macro de Excel funciona en LO.
No he ajustado los botones Volver, solo trabajé las macros del primer post de este debate.

Nota: No es prudente trabajarlo con OpenOffice porque de Excel vienen funciones que no existen en OpenOffice como por ejemplo la función SI.ERROR,

Ojala y sirva.
https://mega.nz/#!yNtVGbSR!BrUJyJr_Oe5k ... Ol3t12FJPA

Saludos, Federico.
Fede, muchísimas gracias por la ayuda.
El tema del LO pienso también que sería lo ideal. Desgraciadamente en mi empresa tienen el OpenOffice, razón por la cual es todo el problema. No se si lo que cargaste será compatible con OpenOffice por lo mismo que decís, pero tratare de ver como hacerlo, aunque confieso que es demasiado tedioso. Jeje
Probare lo que enviaste.
De nuevo millones de gracias por la ayuda.
OpenOffice 4.1.3, Windows 10 Pro
Avatar de Usuario
fornelasa
Mensajes: 3268
Registrado: Jue Feb 17, 2011 8:30 pm
Ubicación: Estado de México, México.

Re: Macro con condicional IF y busqueda de datos

Mensaje por fornelasa »

Pues parece que la macro del primer post también funciona aceptablemente en Calc OpenOffice (de acuerdo al archivo que envié) , pero recuerda aquí necesitaras trabajar más porque usas funciones que Calc no tiene y deberás adecuarlas, lo anterior costará más trabajo, puede hacerse pero no es el tema de este debate.

Saludos, Federico.
lo 6.2.0 | aoo 4.1.6 | win 7/10
¡Un aplauso para todos los que luchan por proteger y promover la Web abierta!
Responder