Jump to content
jhosmar84

Visualizar y editar datos

Recommended Posts

Hola estimado, nuevamente solicitando su ayuda, para poder completar mi formato, pondré los puntos que quisiera me apoyen de ser posible, nuevamente gracias por su dedicación y ayudar a muchos usuarios en este foro.

1. Mi archivo tiene una vinculación con el Excel de una versión anterior, (supongo por que en su momento copie algunos atributos de mi anterior archivo) y al desvincular no me funciona el botón Realizar movimiento de programas, si pueden solucionar es problema.

2. Al jalar una serie, dicha máquina cuenta con 1 o mas programas, pero solo he logrado visualizar uno, me gustaría que se pueda visualizar todos los programas que contenga esa máquina, ejemplo: la maquina de serie 129934 cuenta con 13 programas y solo se visualiza el primero.

3. Quisiera que todo este bloquead (a excepción de local de destino y estado), que no me permita editar nada, solo al hacer click en Editar Datos, me habilite para poder modificar o agregar datos en los campos bloqueados (local actual no debe permitirme modificar nada).

4. Al mover una serie de un local a otro, me hace una copia del movimiento en Reporte (sea retiro o ingreso), pero al copiar, se copia de forma contraria al orden original, me gustaría que se mantenga el orden.

Espero no se mucho pedir y me puedan ayudar a resolver estas opciones, gracias estimados.

MOVIMIENTO_PROGRAMAS_2018.xlsm

Share this post


Link to post
Share on other sites

@jhosmar84, primero deberías dar un buen repaso a la macro :huh:

Estas 2 líneas las tienes equivocadas, haces referencias a las celdas equivocadas
 

Cita

 

If Range("d16") = "" Then --> If Range("d17") = "" Then

If Range("d18") = "" Then --> If Range("d19") = "" Then

 

Si con esto intentas hayar la primera celda vacía, siempre te va a dar error.  Simplemente debes sustituir todo ese código por la línea siguiente que te pongo
 

Cita

 

With Range("b2:b" & uf)
Set c = .Find("")
vac = c.Row
End With

____________________________

uf = Range("B" & Rows.Count).End(xlUp).Row + 1

 

Al recorrer las celdas, codserie no lo tienes declarado y te va a dar error siempre. Supongo que quieres que recorra las celdas, por lo que debes declararlo conmo rango
 

Cita

 

Dim codserie as Range

For Each codserie In Sheets(orig).Range("b3:b" & ufd)

 

De momento todo eso, pero además DECLARA SIEMPRE variables, si no todas son de tipo Variant y seguramente no te funcione nada

Share this post


Link to post
Share on other sites

Muchas gracias estimado Haplox por tu pronta respuesta, con respecto a lo primero, ya había modificado el rango de las celdas equivocadas.

hice el cambio en lo indicado y me sale error de vac = c.row, a que se debe esto, gracias por tú apoyo. 

image.png.54e039933f8914141a4a6a2024e5171b.png

Share this post


Link to post
Share on other sites
Hace 22 minutos , jhosmar84 dijo:

me sale error de vac = c.row

Porque no sé qué pretendes con eso, pero estás diciendo "QUE NO BUSQUE NADA" (que busque vacío, vamos) :huh:

Share this post


Link to post
Share on other sites

Estimado, exactamente busco la fila vacía para poder copiar mis datos al momento de hacer mi movimiento de una hoja a otra, por eso es que pongo todo este comando y me funciona. :D 

 

With Range("b2:b5000")
Set c = .Find("")
vac = c.Row
End With


For Each codserie In Sheets(orig).Range("b3:b5000")
If codserie = "" Then GoTo Fin:
If codserie = cod Then
fil = codserie.Row
Sheets(orig).Activate
repe:
Rows(fil).Copy
Sheets(dest).Activate
Rows(vac).PasteSpecial
Range("a" & vac).Select
vac = vac + 1

Share this post


Link to post
Share on other sites
Hace 18 horas, jhosmar84 dijo:

por eso es que pongo todo este comando y me funciona. :D 

Madre mía...:huh:
 

Dim uF as Long
Dim codserie as Range

uF=Sheets(dest).Range("B" & Rows.Count).End(xLup).Row+1

For Each codserie in Range("B3:B" & uF)
	If codserie = cod Then
		fil = codserie.Row
		Sheets(orig).Activate
		repe:
		Rows(fil).Copy
		Sheets(dest).Activate
		Rows(uF).PasteSpecial
	End If
Next codserie

 

Share this post


Link to post
Share on other sites
Hace 31 minutos , jhosmar84 dijo:

me ayudarías mucho para poder automatizar mi archivo. :rolleyes:

Y tú nos ayudarías explicando cómo funciona la macro. Yo, de momento, no le pillo la dinámica. Hasta ahora he entendido:

  • Con el nº de serie introducido, lo buscas en local de destino, si no lo encuentras lo COPIAS de origen a destino, pero...
  • ¿SI lo encuentras en destino?
  • ¿Si no está en origen?
  • ¿Para qué sirve lo de retiro e ingreso?
  • Lo de que aparezcan los datos de todos los códigos iguales... ¿De la hoja origen? ¿de la hoja destino? ¿De TODAS las hojas?

Como ves ando muy perdido :blink:

Share this post


Link to post
Share on other sites

Disculpa estimado si no fui muy explicito, mi archivo consiste en:

1. Al buscar la serie, me muestra los datos de mi maquina el cual dicha maquina puede contener uno o mas programas de juego, el cual está en un local actual , cuando yo seleccione local de destino, es donde pasará todos los datos de la serie a su nuevo Local destino, a su vez, debe copiarme los datos a mi hoja Reporte según sea el caso (retiro o ingreso), me copiará los mismo datos en mi hoja reporte (esto ultimo es un simple reportes de lo que he movido). "esto si hace actualmente al hacer clic en el botón realizar movimiento de programas"

  2. Al jalar la serie, solo he conseguido mostrar  los primeros datos de la serie, pero esta serie cuenta con mas datos (ejemplo serie 129935 cuenta con varios juegos, 13 exactamente) estos debería mostrarse también según la cantidad de juegos que tenga cada máquina (datos a mostrar: Cant, Programa, registro, resolución, nombre, ubicación, nacionalidad)

3. Con el botón Editar Datos, me debe permitir editar los datos, a excepción de Datos del movimiento estas celdas no deben permitir ningún cambio.

He modificado ligeramente mi archivo, el cual vuelvo a adjuntar, espero puedas ayudar y gracias por tu paciencia. :D

  despejando tus dudas:

  • Con el nº de serie introducido, lo buscas en local de destino, si no lo encuentras lo COPIAS de origen a destino, pero...
  • ¿SI lo encuentras en destino? la serie nunca se repite dentro de dos hojas
  • ¿Si no está en origen? es donde seleccionare para que se haga mi movimiento, 
  • ¿Para qué sirve lo de retiro e ingreso? es un reporte de lo que he movido para saber que máquinas he movido, si selecciono retiro, en mi reporte busca la palabra retiro y hace copia de los datos ahí, igual si selecciono ingreso.
  • Lo de que aparezcan los datos de todos los códigos iguales... ¿De la hoja origen? ¿de la hoja destino? ¿De TODAS las hojas? justo es mi dilema, cuando quiero que muestres todos los datos que tenga esa serie (hoja origen) y poder editar, para hacer algún cambio o agregar datos.

 

MOVIMIENTO_PROGRAMAS_2018 V2.xlsm

Share this post


Link to post
Share on other sites

Estimado Haplox, una observación más, al hacer todos mis movimientos de las máquinas (uno solo por máquina), mi reporte quedará en blanco hasta hacer mis próximos movimiento, así se evita generar conflicto con la hoja Reporte al momento de volver a mover una misma máquina.

 

Share this post


Link to post
Share on other sites

Vamos por partes @jhosmar84. De momento en el ejemplo que te dejo, está solucionado lo de buscar todos los movimientos y bloquear celdas, también lo de los movimientos

Te explico un poco. Como no sé cómo la vas a usar, la macro está preparada para:

  • Al poner el código, pasa todos los datos a la hoja, Y BORRA los datos de la hoja origen
  • Al hacer el movimiento, ELIMINA esas celdas en blanco que hemos dejado
  • De momento todo esto está comentado en el código para que no se ejecute.

Todo esto lo he hech así para que:

  • Al tener los códigos en la hoja principal, los eliminamos DE MOMENTO de la hoja origen
  • No sé que quieres hacer al modificar, bien modificar y pasar los datos A OTRA HOJA moviéndolos, bien modificar y pasarlos A LA MISMA HOJA de origen.
  • Si los modificas y quisieses pasarlos a la misma hoja, se copiarían los datos  modificados a su sitio original
  • Si los pasas a otra hoja, ya eliminamos esos datos de la hoja origen

Todo esto de modificar no está implementado, tú me dirás qué quieres hacer. Verás también código en los eventos del "ThisWorkBook". Esto es para proteger celdas y demás

 

Share this post


Link to post
Share on other sites

Gracias estimado, me ayudaría mucho si adjuntas el archivo con la modificación hecha. :D

  • Al poner el código, pasa todos los datos a la hoja, Y BORRA los datos de la hoja origen. si, efectivamente cuando selecciono el local de destino, debe pasar todos los datos y borrar de los datos de origen (local actual),  
  • Al hacer el movimiento, ELIMINA esas celdas en blanco que hemos dejado. exacto la serie solo debe figurar en un solo local.
  • De momento todo esto está comentado en el código para que no se ejecute. 
    • No sé que quieres hacer al modificar, bien modificar y pasar los datos A OTRA HOJA moviéndolos, bien modificar y pasarlos A LA MISMA HOJA de origen. lo que quiero hacer es, al editar, poder modificar, agregar y borrar  los datos de la máquina los cuales son: fabricante, cant, cod. memoria, registro, resolución, nombre de juego, propietario, ubi y pais. cuando esté haciendo esta edición, no debe permitir mover a ninguna hoja, una vez culminada la edición, recién poder hacer el movimiento.  
    • Si los modificas y quisieses pasarlos a la misma hoja, se copiarían los datos  modificados a su sitio original. la modificación se hará en su misma hoja de origen.

Share this post


Link to post
Share on other sites
Hace 19 horas, jhosmar84 dijo:

Gracias estimado, me ayudaría mucho si adjuntas el archivo con la modificación hecha. :D

Es la edad... :(

Te dejo la solución. Solo hay una cosa que no he implementado, y es el tema del reporte. Tienes un botón para generarlo (supongo que imprimirlo :huh:)

El tema de limpiar los campos, creo que se podr4ía hacer de 2 formas, pero no sé cuál sería la correcta:

  • Al abrir el libro, que automáticamente se borren los datos
  • Que al generar el informe se borren los datos

Tú dirás...

Copia de MOVIMIENTO_PROGRAMAS_2018 V2.zip

Share this post


Link to post
Share on other sites

Estimado, muchas gracias, va justo lo que quiero, pero tengo unas observaciones:

1. Cuando pongo la serie, me jala todos los datos de la máquina, ahí genial, el problema viene cuando quiero poner otra serie, no me cambia los datos, esto debería cambiarme automáticamente al colocar cualquier otra serie.

2. Al hacer el movimiento, ¡genial..¡ lo realiza cuando la serie tiene más de 01 programas, pero cuando solo tiene un solo programa me sale el siguiente error. 

image.png.83f80f66441079848f873b136c66030a.png

  3. Al editar los datos, genial al momento de editar, pero, para que los cambios surjan, tengo que realizar el movimiento, y esto no debe ser así... habrá casos que solo quiero modificar, agregar  y/o eliminar, pero no necesariamente mover mi serie, creo que al botón editar debería ir otro botón de Guardar los cambio, estos cambios deberán guardarse en la hoja actual (local actual), una vez guardado los cambios recién si fuese el caso, me permita hacer el movimiento.

4. El tema de limpiar los campos del reporte tengo un código que le iba a poner para que, me genere una hoja nueva con el nombre del local y la fecha, lo que si, no he podido hacer es borrar los datos al general el reporte, lo pensaba hacer manual una vez generado mi reporte. pero si es posible genera y borrar los datos, sería excelente.

De verdad agradezco mucho estimado tú apoyo, quizá estoy abusando de tu ayuda :rolleyes:, pero me estás ayudando mucho a entender más sobre las macro, el cual estoy en pañales aún en este tema....mil gracias :D

 

Share this post


Link to post
Share on other sites
Hace 1 hora, jhosmar84 dijo:

1. Cuando pongo la serie, me jala todos los datos de la máquina, ahí genial, el problema viene cuando quiero poner otra serie, no me cambia los datos, esto debería cambiarme automáticamente al colocar cualquier otra serie.

Lo siento,a mí me está funcionando sin problema

Hace 2 horas, jhosmar84 dijo:

2. Al hacer el movimiento, ¡genial..¡ lo realiza cuando la serie tiene más de 01 programas, pero cuando solo tiene un solo programa me sale el siguiente error. 

Cámbialo por

.Cells(uFr, "A").Resize(uFo - 5, 1) = numero

 

Hace 2 horas, jhosmar84 dijo:

para que los cambios surjan, tengo que realizar el movimiento, y esto no debe ser así..

En 30/5/2018 at 15:35 , jhosmar84 dijo:

lo que quiero hacer es, al editar, poder modificar, agregar y borrar  los datos de la máquina los cuales son: fabricante, cant, cod. memoria, registro, resolución, nombre de juego, propietario, ubi y pais. cuando esté haciendo esta edición, no debe permitir mover a ninguna hoja, una vez culminada la edición, recién poder hacer el movimiento.

Aclárate...;)

Para esto último,¿ Cómo querrías hacerlo? Porque solo tienes el botón de editar. Una vez editados solo te queda moverlos :huh:

Share this post


Link to post
Share on other sites

Muchas gracias estimado, con respecto al punto 1, efectivamente si cambia, no me salía porque estaba en modo edición :rolleyes: jejeje... el punto 2 solucionado.

1. Ahora con respecto a la edición, si es posible, la edición sea independiente del movimiento, osea, si yo haga algún cambio me permita guardar  sin que tenga que hacer necesariamente el movimiento. por eso creo conveniente que tenga un botón editar y uno guardar cambios.

2. he agregado el código al botón reporte, me genera mi reporte, pero no me borra los datos, si puedes ayudarme a que se borren los datos, sería genial.

Estimado Haplox, si es posible la edición independiente con el botón que he agregado, sería lo máximo, sino te pido esto último del reporte que me ayude a borrar los datos al generar, ya con eso daría por terminado y cerraría el tema. :D

Adjunto nuevamente el archivo con el botón agregado, gracias.

 

 

MOVIMIENTO_PROGRAMAS_2018 V3.xlsm

Share this post


Link to post
Share on other sites

Estimado, he encontrado un pequeño problema, al ingresar la serie y cambio por otra, los datos de la serie anterior ingresada se borran por completo, desaparece de todas mis hojas, una solución a lo indicado gracias, :)

Share this post


Link to post
Share on other sites
Hace 11 horas, jhosmar84 dijo:

al ingresar la serie y cambio por otra, los datos de la serie anterior ingresada se borran por completo

Lógico, ya te expliqué cómo funciona la macro:

  • Al poner la serie, pasa los datos de la hja origen, eliminándolos de ella
  • Si guardas los cambios, lleva los datos a su sitio original
  • Si haces un movimiento, elimina las filas originales vacías

Si cambias de serie, sin "Guardar Cambios", te quedas sin los datos. Te dejo la nueva solució, creo que completa. He dejado el botón de cancelar edición, pero creo que ahora ya no sirve para nada :huh:

Copia de MOVIMIENTO_PROGRAMAS_2018 V3.zip

Share this post


Link to post
Share on other sites

@Haplox muchas gracias estimado.

Hace 6 horas, Haplox dijo:
  • Al poner la serie, pasa los datos de la hja origen, eliminándolos de ella
  • Si guardas los cambios, lleva los datos a su sitio original
  • Si haces un movimiento, elimina las filas originales vacías

Ingreso la serie y cambio o dejo en blanco, y guardo los cambios, igual se me borran los datos estimado, el resto perfecto.

Si se pudiese solucionar, sino estimado, infinitas gracias ya en este punto, específicamente hace lo que quiero, el reporte genial, y creo que estoy abusado de su bondad, me servirá en mi proceso. :):)  

Share this post


Link to post
Share on other sites
Hace 2 horas, jhosmar84 dijo:

Ingreso la serie y cambio o dejo en blanco, y guardo los cambios

justo lo que te he dicho. si ingresas una serie, antes de cambiarla o dejar en blanco, tienes que guardar

Share this post


Link to post
Share on other sites
Guest
This topic is now closed to further replies.

INFORMACIÓN BÁSICA SOBRE PROTECCIÓN DE DATOS

Responsable: Sergio Andrés Celemín

Finalidad: Moderar y responder comentarios de usuarios. Recuerda que la información que facilites es pública, y los datos que incluyas los leerá cualquier visitante de esta web, así como el avatar que poseas.

Legitimación: Consentimiento del interesado.

Destinatarios: Hetzner Online GmbH.

Derechos: Puedes ejercitar en cualquier momento tus derechos de acceso,
rectificación, supresión, oposición y demás derechos legalmente establecidos a
través del email sergio@ayudaexcel.com.

Información adicional: Encontrarás más información en la política de privacidad.




×
×
  • Create New...

Important Information

Privacy Policy


CTA Templates.png