Saltar al contenido

Error al utilizar macros en excel


Imh236

Recommended Posts

publicado

Hola,

Antes de nada agradecer al que me esté leyendo para intentar resolver la duda que tengo y solucionar la misma duda que pueda tener otra gente.;)

Mi problema es que utilizando macros en Excel me sale el siguiente error:

Se ha producido el error '1004' en tiempo de ejecución:

Error en el método Insert de la clase Range

Si entro en el Visual Basic me aparece resaltado:

Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromRightOrBelow

La verdad que no tengo ni idea de que significa, porque la macro funcionaba hasta que bloqueé las hojas y guarde el trabajo. Al volver a abrirlo ya me aparecía el error.

No tengo ni idea de utilizar macros...lo fui consiguiendo por tutoriales...así que por favor, si me lo podéis explicar sencillo mucho mejor.:(

Aprovechando la ocasión...

a) ¿Alguien conoce alguna macro que sirva para registrar la fecha de envío de emails a los registros que yo busque por código/nombre/sector?

B) ¿Puedo crear un formulario de captura a partir de la tabla ya creada o tendría que crear un formulario de captura desde 0? Si lo creo desde 0, ¿me serviría la descripción de los macros de visual basic para copiar y pegar en visual basic del formulario de captura?

Muchísimas gracias y espero no haber sido demasiado "petarda".:mad:

publicado

[uSER=211748]@Imh236[/uSER] , Hola, primero es de darte la Bienvenida a éste foro, como eres nueva en él te recomendaría te pegaras una lectura al siguiente link, colocando principal atención al numeral 5º del mismo; allí descubrirás que la forma como estás planteando tu necesidad no es la apropiada y es poco probable que obtengas ayuda.

Normas AyudaExcel

Este enlace también te será de mucha utilidad.

Adjuntar archivos en los temas del foro

publicado
... la macro funcionaba hasta que bloqueé las hojas y guarde el trabajo...

que sucede si pruebas (de nuevo) QUITANDO antes la protección de la(s) hoja(s) ?

saludos,

hector.

publicado
que sucede si pruebas (de nuevo) QUITANDO antes la protección de la(s) hoja(s) ?

saludos,

hector.

Ya lo he probado antes...pero sigue sucendiendo lo mismo...incluso elimine la macro guardar y la volvi a creal mil veces y nada...

publicado
[uSER=211748]@Imh236[/uSER] , Hola, primero es de darte la Bienvenida a éste foro, como eres nueva en él te recomendaría te pegaras una lectura al siguiente link, colocando principal atención al numeral 5º del mismo; allí descubrirás que la forma como estás planteando tu necesidad no es la apropiada y es poco probable que obtengas ayuda.

Normas AyudaExcel

Este enlace también te será de mucha utilidad.

Adjuntar archivos en los temas del foro

¡Lo siento! Ya me había leido las normas...pero no se si es culpa mia que no sabía subir el archivo de otra forma o sólo me dejaba subir fotos...si subia el excel no podia ser en formato habilitado para macros... De todas formas seguro que fue culpa mía, pido perdón.

publicado

[uSER=211748]@Imh236[/uSER] , hola, disculpa mi insistencia, pero sin que subas el archivo es muy complicado poder ayudarte

si subia el excel no podia ser en formato habilitado para macros...

Y ante esto no te preocupes si no te deja subir el archivo en formato .xlsm; podrás comprimir en formato .zip o .rar y así te permitirá subir el archivo.

Solo te puedo adelantar que si el inconveniente es por proteger la hoja deberás colocar la siguiente línea entre:

seleccionar la hoja de datos y seleccionar la fila 9 de la misma hoja datos; te tendrá que quedar algo así:


Sheets("Datos").Select
ActiveSheet.Unprotect "Tu Clave" ' Cambia la palabra "Tu Clave" dentro de las comillas por la tuya.
Rows("9:9").Select
[/CODE]

Esperamos el archivo.

Saludos.

publicado
[uSER=211748]@Imh236[/uSER] , hola, disculpa mi insistencia, pero sin que subas el archivo es muy complicado poder ayudarte

Y ante esto no te preocupes si no te deja subir el archivo en formato .xlsm; podrás comprimir en formato .zip o .rar y así te permitirá subir el archivo.

Solo te puedo adelantar que si el inconveniente es por proteger la hoja deberás colocar la siguiente línea entre:

seleccionar la hoja de datos y seleccionar la fila 9 de la misma hoja datos; te tendrá que quedar algo así:


Sheets("Datos").Select
ActiveSheet.Unprotect "Tu Clave" ' Cambia la palabra "Tu Clave" dentro de las comillas por la tuya.
Rows("9:9").Select
[/CODE]

Esperamos el archivo.

Saludos.

Perdón por la tardanza y gracias por intentar ayudarme, ante todo.

Intentaré subir el archivo así a ver si vale.

¿Lo que me dices que tengo que poner lo puedo añadir directamente desde Visual Basic no?

Perdón si hago demasiadas preguntas pero mi nivel de Excel es básico y nunca había trabajado con macros.

Muchísimas gracias por la ayuda.

BASE DE DATOS.zip

publicado
[uSER=211748]@Imh236[/uSER] , hola, disculpa mi insistencia, pero sin que subas el archivo es muy complicado poder ayudarte

Y ante esto no te preocupes si no te deja subir el archivo en formato .xlsm; podrás comprimir en formato .zip o .rar y así te permitirá subir el archivo.

Solo te puedo adelantar que si el inconveniente es por proteger la hoja deberás colocar la siguiente línea entre:

seleccionar la hoja de datos y seleccionar la fila 9 de la misma hoja datos; te tendrá que quedar algo así:


Sheets("Datos").Select
ActiveSheet.Unprotect "Tu Clave" ' Cambia la palabra "Tu Clave" dentro de las comillas por la tuya.
Rows("9:9").Select
[/CODE]

Esperamos el archivo.

Saludos.

¡¡¡Muchísimas gracias!!!

Lo hice como me has dicho y va perfecto ya no da ningún error. Eres un genio ¡gracias!

Si alguien me pudiera ayudar con las otras dudas sería ya perfecto:

a) ¿Alguien conoce alguna macro que sirva para registrar la fecha de envío de emails a los registros que yo busque por código/nombre/sector?

B) ¿Puedo crear un formulario de captura a partir de la tabla ya creada o tendría que crear un formulario de captura desde 0? Si lo creo desde 0, ¿me serviría la descripción de los macros de visual basic para copiar y pegar en visual basic del formulario de captura?

Un saludo.

publicado

[uSER=211748]@Imh236[/uSER] , hola, te devuelvo el archivo desprotegiendo y protegiendo ambas hojas, le coloqué como clave 123, debes en la macro cambia dichos valores, tanto al inicio como al final por el que te genere seguridad y confianza.

BASE DE DATOS.rar

publicado
a) ¿Alguien conoce alguna macro que sirva para registrar la fecha de envío de emails a los registros que yo busque por código/nombre/sector?

En cuanto a esta parte de tu requerimiento, deberás explicar más ampliamente para iniciar el trabajo;

Entre otras cosas decir paso a paso que es lo que quieres que la macro haga por tí.

Espero comentarios.

Saludos.

publicado
En cuanto a esta parte de tu requerimiento, deberás explicar más ampliamente para iniciar el trabajo;

Entre otras cosas decir paso a paso que es lo que quieres que la macro haga por tí.

Espero comentarios.

Saludos.

Me gustaría que en la tabla que hice en la hoja "registro" al final de todo que pone "e-mails enviados" al insertar algún dato (no tienen porque ser todos) de la casilla nº de registro/ nombre/ sector y poniendo la fecha que yo quiera en la casilla fecha, me registre en la hoja "datos" la fecha que yo le marqué en base al nº de registro/nombre/ sector que le indiqué (pudiendo ser varios registros cuando indico el sector en lugar de nombre o nº de registro).

No se si me expliqué bien, creo que es un poco complicado.

Muchas gracias de nuevo por el archivo que reenviaste y por lo que sigue.

publicado
La verdad para nada.

Imagina que tengo en la tabla registrado a Jose M., pues al poner en el registro de emails Jose M. o su código o el sector en el que trabaja y la fecha de hoy, me aparezca la fecha en la tabla de la segunda hoja. Porque tengo que registrar la fecha en la que envié emails pero tanto puede ser que registre persona a persona como a todos lo que trabajan en un sector.

A ver si ahora me expliqué mejor, es que no es fácil.

Gracias.

publicado
colocando principal atención al numeral 5º del mismo

Te reitero lo de nuestro primer saludo, es necesario que en el archivo eso mismo que me pretendes explicar lo incluyas en una hoja aparte que llamaremos resultado esperado; apóyate de colores y rellena unos tres o cuatro registros a manera de ejemplo para ver como se soluciona.

publicado
A ver si ahora me expliqué mejor, es que no es fácil.

No pretendas decir que no es fácil, en verdad es fácil, es solo que necesito considerar muchas cosas, entre ellas formatos de celdas y otras cosas.

publicado
Te reitero lo de nuestro primer saludo, es necesario que en el archivo eso mismo que me pretendes explicar lo incluyas en una hoja aparte que llamaremos resultado esperado; apóyate de colores y rellena unos tres o cuatro registros a manera de ejemplo para ver como se soluciona.

Tenías razón así es más fácil explicarlo. Te lo reenvío. La tabla en concreto de la que hablo es la 2ª de la página registro, la que está justo debajo de la de registro de datos, la verás porque le inserte bocadillos.

Corrijo lo que había dicho anteriormente: "para mi no es fácil"

Muchas gracias por la ayuda.

BASE DE DATOS.zip

publicado
Corrijo lo que había dicho anteriormente: "para mi no es fácil"

Te equivocas, es más fácil para tí explicarlo, que para mí entenderlo sin la debida explicación.

Yo la entiendo así y me dirás si estoy bien o me equivoco:

Al colocar algún dato en la segunda tabla; ellos son:

"Número de Registro"; "Empresa"; "Sector" y "Fecha", debe buscar y rellenar los demás con solo escribir uno. Al darle click en el botón validar deberá únicamente colocar en la última columna con datos ella es la "L" de la hoja "Datos".

Preguntas:

  1. Como piensas controlar si le puedes enviar en el tiempo "Días, semanas, meses o años" a clientes que pertenecen a la misma empresa o sector y esos datos se pueden repetir?
  2. ¿Cómo deberá el programa diferenciar a quién registrar la fecha y no hacerlo equivocadamente?
  3. ¿La Fecha la introduces manualmente o te la debe tomar del sistema?

Sugerencias:

  1. Si el único dato que no se repite a lo largo de la hoja de "Datos" es el de "Número de Registro" deberías asumirlo como dato único.
  2. Alternativa "B" ; introducir y manipular todo por medio de Formularios, que en el mismo te permita seleccionar previamente a que fila de registro validar la correspondiente fecha.

Saludos, desde Colombia.

P.D. Debes ser consciente que yo te puedo sugerir cambios, pero eres tú y únicamente tú la que decide que se hace.

publicado
Te equivocas, es más fácil para tí explicarlo, que para mí entenderlo sin la debida explicación.

Yo la entiendo así y me dirás si estoy bien o me equivoco:

Al colocar algún dato en la segunda tabla; ellos son:

"Número de Registro"; "Empresa"; "Sector" y "Fecha", debe buscar y rellenar los demás con solo escribir uno. Al darle click en el botón validar deberá únicamente colocar en la última columna con datos ella es la "L" de la hoja "Datos".

Preguntas:

  1. Como piensas controlar si le puedes enviar en el tiempo "Días, semanas, meses o años" a clientes que pertenecen a la misma empresa o sector y esos datos se pueden repetir?
  2. ¿Cómo deberá el programa diferenciar a quién registrar la fecha y no hacerlo equivocadamente?
  3. ¿La Fecha la introduces manualmente o te la debe tomar del sistema?

Sugerencias:

  1. Si el único dato que no se repite a lo largo de la hoja de "Datos" es el de "Número de Registro" deberías asumirlo como dato único.
  2. Alternativa "B" ; introducir y manipular todo por medio de Formularios, que en el mismo te permita seleccionar previamente a que fila de registro validar la correspondiente fecha.

Saludos, desde Colombia.

P.D. Debes ser consciente que yo te puedo sugerir cambios, pero eres tú y únicamente tú la que decide que se hace.

No es exactamente como lo has entendido. La empresa es un dato único, no se repite. Por lo tanto lo podemos coger como referencia igual que el número de registro. El único dato que se repetiría en su caso sería el sector y yo lo que pretendo es que, en el caso de que elija filtrar por sector, me marque la fecha en todos los del mismo sector.

La fecha la introduciría yo manualmente.

Muchísimas gracias por toda la ayuda que me estas prestando.

publicado

[uSER=211748]@Imh236[/uSER] ya teniendo todo claro, te solicito que me des una espera y en el transcurso del día te planteo la solución.

Saludos.

publicado
[uSER=211748]@Imh236[/uSER] ya teniendo todo claro, te solicito que me des una espera y en el transcurso del día te planteo la solución.

Saludos.

Crees que es posible hacerlo? Pense que seria imposible...

publicado

[uSER=211748]@Imh236[/uSER] , Hola, no te he abandonado, es solo que estoy en otros problemas, te pido disculpas y un poco de paciencia y sí efectivamente se puede.

  • 2 weeks later...

Archivado

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

×
×
  • 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.