UniversoExcelForo

Respuesta a consultas.
Fecha de creación: 09.Abril.2012

Fundadores: Wibly,Tyno,Servando,Sakkar,Rosendo2,RMaximo,Railar,Mcoronel,Ioyama,Igtelo,Hugotron,Drochar,Dedos,Alberto,Adolfo

No se pueden hacer consultas de Excel o VBA por mensaje privado.
Utiliza el botón buscar del foro y te ahorras tiempo para obtener "ayuda".

No estás conectado. Conéctate o registrate

Ver el tema anterior Ver el tema siguiente Ir abajo  Mensaje [Página 1 de 1.]

1RESUELTO Duda con Macro - At'n Tyno - el 09/10/12, 07:49 pm

marcohr


Estimado Tyno y/o alguno de los expertos en excel:
Hace unos cuantos días hice una pregunta en la seccion "Formulas " con el titulo "Importar un registro a otra ubicacion cumpliendo con condiciones", dentro de ese archivo hay una pestaña que tiene como nombre "Proyector", mi necesidad es poder decifrar el código que estableció Tyno.

Lo que deceo es saber como logro Tyno u/o lograr que al seleccionar la plaza se vayan registrando, pero si señalo "agregar poblacion" estos se ejecuten como lo desarrolló Tyno, es decir; que le indique al formato que me cargue cierta plaza y si señalo "agregar otra poblacion" que la primera no se borre y se sigan agregando las demas en la parte posterior como lo muestra ese ejemplo "Importar un registro a otra ubicacion cumpliendo con condiciones"

Le hice unas mejoras al formato primero pero solo esa función no me la esta respetando, le estuve buscando esa alternativa pero no sé como fue desarrollada. Me interesa el código y como habilito el boton para excel 2007. (los espacios - asignaciones serán las mismas)

Gracias.

2RESUELTO Re: Duda con Macro - At'n Tyno - el 10/10/12, 11:52 am

tyno


Hola Marco.

Por lo que leo en tu comentario, si no has cambiado nada de lugar con respecto al archivo que vimos la otra vez, la macro deberia fucionar mas alla de la version de excel. Quizas el problema sea que no tengas habilitado el uso de macros en el excel 2007 como lo mencionas.
Te paso un instructivo de microsoft que explica como habilitar las macros en excel 2007, en este te destaco los pasos y opciones que debes marcar :

1- Haga clic en el botón de Microsoft Office (de la hoja Excel) y, a continuación, en Opciones de Excel.
2-Haga clic en Centro de confianza, en Configuración del Centro de confianza y, a continuación, en Configuración de macros.
3-Habilitar todas las macros ...
4-Confiar en el acceso al modelo de objeto de proyectos de VBA...
Sugerencia Puede abrir el cuadro de diálogo de configuración de seguridad de macros desde la ficha Programador de la cinta de opciones, que forma parte de la Interfaz de usuario de Microsoft Office Fluent. Si la ficha Programador no está disponible, haga clic en el botón de Microsoft Office Imagen del botón y, a continuación, en Opciones de Excel. Haga clic en Más frecuentes y, a continuación, active la casilla de verificación Mostrar ficha Programador en la cinta de opciones.

Por las dudas, despues de los pasos anteriores, hacer un guardar, cerrar y volver a abrir el archivo. Con lo anterior deberian quedar funcionando las macros y los controles (botones, casillas de verificacion, etc)

Llegado el caso que siga sin funcionar la macro, pues seria conveniente que me pases el archivo resumido para poder ver de que se trata el problema. Es un poco complicadillo explicar por este medio un codigo de macro mas o menos avanzado si no se tiene mucha nocion del tema. Asi que por aqui estaremos. Saludos.

3RESUELTO Re: Duda con Macro - At'n Tyno - el 10/10/12, 07:04 pm

marcohr


Hi Tyno
Intenté subir el archivo pero me dice que sobre pasa el volumen permitido, lo comprimí y me marca archivo no valido.

Que te parece si me pasas el código? y solo lo asigno al boton "Agregar poblacion?... es lo que mejor se me ocurre.
Gracias

4RESUELTO Re: Duda con Macro - At'n Tyno - el 10/10/12, 10:55 pm

tyno


A ver si podemos hacer algo.


Primero:
Como supongo que vas a trabajar en excel 2007, vas a ir a la solapa de programador, en la cinta de herramientas. Si no tienes habilitada la herramienta de programador, pues mira en el instructivo que te he pasado anteriormente y ahi te indica como habilitar dicha solapa de programacion.

En la Hoja Proyecto vas a tener que disponer de dos botones y una casilla de verificacion. Lo mejor va a ser crearlos desde cero. Los anteriores botones, los que ya puedan estar en la hoja eliminarlos antes que nada, asi como la casilla de verificacion (checkbox). Para eliminar estos controles vas a seleccionar la herramienta "Modo de diseño" (es un boton con unas pequeñas escuadras y un lapiz-siempre en la solapa de Programador). Con esta herramienta activada ya puedes seleccionar los controles, y una vez seleccionados ya se pueden eliminar.

Luego vas a insertar/crear un boton de comando (control activex), bueno, en este caso vas a tener que crear dos botones con la herramienta "Insertar"-siempre en la solapa de Programador.
Por defecto estos dos botones que vas a crear se llamaran: CommandButton1 y CommandButton2, el primero es el que filtra los datos y el segundo es el que borra la grilla de datos.

Con la herramienta "Modo de diseño" activada, hacemos click con boton secundario del mouse sobre cualquiera de estos botones comando que has creado, y seleccionamos la opcion "propiedades", se despliega una lista de propiedades, vamos a la propiedad "Caption" y donde dice por defecto el nombre del boton, lo reemplazamos por el nombre que corresponda: si estamos en el CommandButton1 entonces en Caption debe ir un nombre alusivo a la funcion de este comando, como ser GENERAR, FILTRAR, EXTRAER, etc, en CommandButton2, que es el boton para limpiar la grilla deber ir el respectivo nombre que nos de la pauta que sirve para borrar los datos de la grilla. ¿se entiende?

De la misma manera vas a insertar una casilla de verificacion o checkbox, desde la misma herramienta conque se insertaron los botones comandos. Luego , boton secundario del mouse sobre esta casilla, siempre en modo de diseño, cambiamos el nombre de este control en la propiedad (Name), que es la primera opcion de la lista de propiedades, en este caso el nombre de la casilla tiene que ser si o si "agregar" (sin comillas), porque este es el nombre que utiliza el codigo de la macro para su procedimiento.

((Quizas la macro anterior no te funcionaba porque la casilla de verificacion (checkbox) no tenia el nombre (Name) "agregar" en sus propiedades. Se me ocurre esto porque mencionaste que no se te agregaban las distintas busquedas que efectuabas. Entonces, quizas, con solo verificar que la casilla de verificacion tenga el nombre correcto puede que todo funcione tan solo con acomodar este detalle.))

Una vez agregados estos controles desactivar la herramienta de diseño, sino la macros no van a funcionar.

Segundo:
Copiar y pegar los codigos de la macro en el editor de macros de la hoja Proyecto.

Abajo estan los codigos de macros que tienes que pegar en el editor de macros, (ir a la hoja Proyecto y oprimir simultaneamente Alt y F11).

Entonces copias y pegas el codigo en el editor:




Private Sub CommandButton1_Click()

On Error Resume Next
If agregar.Value = False Then
[a8:h65536] = ""
[a8:h65536].Interior.ColorIndex = xlNone
GoTo sig
Else
sig: i = 5
With Worksheets("Embarques")
nxt: rw = .Range(.Cells(i, 2), .Cells(65536, 2)).Find([j4], lookat:=xlWhole).Row
If rw = i Then Exit Sub
If CDate(.Cells(rw, 3)) >= CDate([e4]) And CDate(.Cells(rw, 3)) <= CDate([g4]) Then
fila = [a7:a65536].Find("").Row
Cells(fila, 1) = .Cells(rw, 2) 'poblacion-ubicacion
Cells(fila, 2) = .Cells(rw, 1) 'codigo-folio embarque
Cells(fila, 3) = .Cells(rw, 5) 'descripcion
Cells(fila, 4) = .Cells(rw, 3) 'fehca recepcion
Cells(fila, 5) = .Cells(rw, 4) 'hora recepcion
Cells(fila, 6) = .Cells(rw, 7) 'total
Cells(fila, 7) = .Cells(rw, 8 ) 'local
Cells(fila, 8 ) = .Cells(rw, 9) 'foraneo

If Cells(fila - 1, 1).Interior.ColorIndex <> 20 Then
Range(Cells(fila, 1), Cells(fila, 8 )).Interior.ColorIndex = 20
Else
Range(Cells(fila, 1), Cells(fila, 8 )).Interior.ColorIndex = xlNone
End If

End If
i = rw
GoTo nxt

End With
End If
End Sub

Private Sub CommandButton2_Click() 'borrar
a = MsgBox("Confirma Borrar Todo", vbOKCancel, "AVISO")
If a = vbCancel Then
Exit Sub
Else
[a8:h65536] = ""
[a8:h65536].Interior.ColorIndex = xlNone
End If
End Sub

Hacer un Guardar o Save.

Si has logrado crear/insertar bien los controles (botones y casilla de verificacion) y asignarle los nombres que corresponden, entonces todo deberia funcionar correctamente.
Como siempre cualquier cosa por aqui estaremos. Saludos amigo.

5RESUELTO Re: Duda con Macro - At'n Tyno - el 12/10/12, 02:20 pm

marcohr


Mis respetos y mi agradecimiento Tyno, muchisimas gracias por el gran apoyo, por dedicarle tiempo a mi necesidad, por las instrucciones claras y precisas, por compartir tus conocimientos.

Te mando un abrazo de donde quiera que seas...

Ver el tema anterior Ver el tema siguiente Volver arriba  Mensaje [Página 1 de 1.]

Permisos de este foro:
No puedes responder a temas en este foro.