Aprendimos en la entrada Creación de macros cuáles eran los pasos a seguir para crear una macro, usando el 'asistente'. Hoy haremos lo mismo, pero desde Excel 2007, para después asignar la macro creada a un Botón generado por nosotros.
En primer lugar deberemos extraer el Menú Programador, donde se encuentran las herramientas que necesitaremos, ejercitando la opción el Botón de Office en Excel 2007. Buscaremos el botón Opciones de Excel y tras pulsarlo, y dentro de las opciones principales para trabajar con Excel marcaremos Mostrar ficha de programador en la 'Cinta de opciones'.
Hecho esto, podemos generar una macro sencilla empleando el asistente para Grabar macro. Por ejemplo, crearemos una macro que introduzca un texto, y luego de color a la fuente y al fondo de la celda.
Posteriormente, también desde el menú Programador, desde Insertar Controles de formulario, elegiremos el control Botón y automáticamente nos desplegará el listado de macros existentes para asociar uno de ellos a este botón.
Veámoslo en un video.
La utilidad de este uso y otros de los Controles de Formulario lo veremos en una entrada posterior.
En primer lugar deberemos extraer el Menú Programador, donde se encuentran las herramientas que necesitaremos, ejercitando la opción el Botón de Office en Excel 2007. Buscaremos el botón Opciones de Excel y tras pulsarlo, y dentro de las opciones principales para trabajar con Excel marcaremos Mostrar ficha de programador en la 'Cinta de opciones'.
Hecho esto, podemos generar una macro sencilla empleando el asistente para Grabar macro. Por ejemplo, crearemos una macro que introduzca un texto, y luego de color a la fuente y al fondo de la celda.
Posteriormente, también desde el menú Programador, desde Insertar Controles de formulario, elegiremos el control Botón y automáticamente nos desplegará el listado de macros existentes para asociar uno de ellos a este botón.
Veámoslo en un video.
La utilidad de este uso y otros de los Controles de Formulario lo veremos en una entrada posterior.
tengo una macro en excel 2007 que la agrego a la barra de herramientas de un libro especifico grabo todo y cierro ... cuando lo vuelvo a abrir la macro ya no esta en la barra de herramientas.... podrias ayudarme con esto ? desde ya muchas gracias
ResponderEliminarHola Juan,
ResponderEliminarcomprueba los pasos en la entrada adjunta
http://excelforo.blogspot.com/2009/10/insertar-un-boton-de-macro-en-la-barra.html
dentro de la etiqueta de Macro. Yo he replicado los pasos y funciona correctamente.
Coméntame cómo te va...
Saludos
Hola a todos
ResponderEliminarLes pido si me pueden ayudar, veran soy totamente novato en esto, mas sin embargo estoy en busca de un macro o lo que sea que me haga la vida mas facil, les explico, tengo dos archivos en excel 2007, en uno tengo miles de datos con los cuales yo siempre trabajo, mas sin embargo cada mes recibo otro archivo excel 2007 con los cambios de algunos cientos o miles de datos que tengo que pasar en una nueva columna del primer archivo.
Aqui el punto es que no todos cambian y los que cambian estan saltados, es decir cambia un solo dato de la fila 20 y el siguiente dato que cambia esta en la fila 524 y la siguiente en la 530 etc. osea no hay un orden.
Y para pasar dato por dato es muy dificil para mi, pues tengo que hacer copiar el dato a buscar en el primer archivo, buscar en el segundo archivo y ya encontrado copiar los cambios y pegarlos en el primer archivo y asi hasta 1500 veces, me tardo una eternidad.
Me podrian ayudar, se los agradeceria muchismo
Muy buenas,
ResponderEliminara mi entender la solución pasaría por emplear un formato condicional; si trabajas con Excel 2007 deberás acceder al Formato condicional y aplicar el formato a los valores duplicados en ambos libros...
De todas formas, subiré la semana que viene una entrada con una solución a tu problema.
Saludos
Gracias Excel, pero no entendi lo que me dices, el formato conidional no lo se usar muy bien pero tengo entendido que necesito ponerle al formato condicional que si no es "X" numero que haga "Y" funcion, pero son cientos de miles de numeros.
ResponderEliminarMejor me espero a que subas la entrada que comentas, que ya lo espero con ansias jaja, pues ya me volvi loco con tantos datos.
Ya quedó subido una solución al problema de encontrar datos dispares al comparar bases de datos
ResponderEliminarhttp://excelforo.blogspot.com/2009/12/busqueda-de-diferencias-en-una-base-de.html
espero que te sirva
Un saludo
abro mi libro ecxel y no esta hbilitado el boton de macro como lo haboito por q no puedo picarle al boton por lo tanto no puedo grabar
ResponderEliminarMuy buenos días,
ResponderEliminartendría que saber si dispones de Excel 2003 o Excel 2007.
Si tienes Excel 2003 deberás habilitar la barra de herramientass Visual Basic o bien desde el menú Herramientas > Macros.
Si tienes Excel 2007 deberás activar pulsando el Botón de Office > Opciones de Excel > marcar 'Mostrar ficha Programador en la cinta de opciones.
Saludos
para aser bromas ahi va una macro
ResponderEliminarque desaparece varias cosas de excel
Sub ocultar()
ActiveWindow.DisplayGridlines = False
ActiveWindow.DisplayHorizontalScrollBar = False
ActiveWindow.DisplayVerticalScrollBar = False
ActiveWindow.DisplayWorkbookTabs = False
Application.DisplayFormulaBar = False
ActiveWindow.DisplayHeadings = False
Application.DisplayStatusBar = False
End Sub
Hola...
ResponderEliminarcuriosa macro...
Muy buena aportación!!!
Gracias
Buenas Alguien me puede ayudar, necesito una macro EXCEL 2007, que me lleve el codigo de una tabla(x) de 2 columnas a una tabla (y) de 1 columna, la cual contiene nombres que coinciden con la tabla (y).
ResponderEliminartabla x
0000001 3M COLOMBIA S.A
0000002 ABBOTT
0000003 ACTIVIDADES PESQUERAS S.A
0000004 ADAMS
0000005 AGUILA ROJA
0000006 ALAMAR
.......
tabla y
BEIERSDORF
FAMILIA SANCELA
FAMILIA SANCELA
COLGATE PALMOLIVE
NACIONAL DE CHOCOLATE
PROCTER Y GAMBLE
FAMILIA SANCELA
FAMILIA SANCELA
.........
Desde ya gracias..
Hola,
ResponderEliminarno se ve clara la coincidencia de que hablas entre los nombres de la tabla (y) y los de la tabla (x), respecto al código supongo te refieres a la numeración de la tabla (x)...
En todo caso para hacer lo que quieres no te hace falta una macro, existen funciones estándar en Excel que te hacen lo mismo...
echa un vistazo a
http://excelforo.blogspot.com/2010/03/buscar-en-matrices-la-funcion-indice.html
o inténtalo con una función BUSCARV.
Slds
como puedo hacer desde una hoja excel mediante un boton pedir abrir un archivo txt de ancho fijo y colocarlo en la hoja excel para poder trabajrlo. El tyrabajo que tengo que hacer es que en una sola columna tengo 2 nombres de ciudades de mi localidad y quiero separarlo uno por uno, el problema es que la ciudad puede tener nombre compuestos por ejemplo "SAN FELIPE SAN VICENTE" esto debo de separarlo en una columna cada una.
ResponderEliminarY despues de eso debo de volver a gaenerar el artchivo corregido en txt ancho fijo.
Gracias por su ayuda, es urgente esta solucion.
Bruno.
me podrian escribir a mi correo btornero@dataimagenes.com.pe
Hola,
ResponderEliminarSería mejor me enviaras un ejemplo del fichero .txt a excelforo@gmail.com
Te adelanto que abrir el fichero txt, mediante un botón es sencillo; el problema efectivamente vendrá a la hora de trabajar de manera automática sobre él (aunque manualmente se puede con la herramienta Texto en columnas
http://excelforo.blogspot.com/2010/02/texto-en-columnas.html
seguro la conoces)
Igualmente sería sencillo agregarle un botón para guardarlo ya corregido.
Slds
estas guenasos los egemplo de esta paj aca un salido a lo guasos q visitan la pagina de parte de ponce y cragnolini de colejio del huerto jesus maria cordoba aguante la lbc cheee ....bay
ResponderEliminarbuenas, tengo conocimientos de excel basico, quiero aprender a utlizar macros con visual , me podrias recomendar alguna pagina en la cual pueda aprender, oh un manual para descargar, oh aplicaciones...gracias
ResponderEliminarHola,
ResponderEliminarno sabría indicarte, la verdad es que hay muchas, pero si buscas en scrib.com 'macros excel' te saldrán algunos manuales que te pueden servir para empezar...
Además busca en google foros de macros en excel donde seguro te ayudarán en dudas concretas.
Yo poco te puedo decir respecto a este punto por que soy un principiante en este tema.
Suerte
no se entiende ke se hace cuando quitas la celda de la macros y pones el boton, por una parte dices ke "borrar la celda" pero no dices como ya que aparece como si estuvieras cortando o copiando el dato. saludos
ResponderEliminarHola Teo,
ResponderEliminaren este ejemplo sólo pretendo enseñar cómo generar un botón, y no como editar el código de una macro (para esto he subido algún otro ejemplo).
La idea es asignar cualquier macro a un botón.
Slds
Hola,
ResponderEliminartengo un libro excel con 25 hojas. En cada una de esas hojas hay datos de análisis químicos de diferentes lugares y también tengo una hoja en la que se recogen todos esos análisis (sería como una hoja "resumen").
Como recibo datos quincenalmente, me gustaría introducir una macro para que cuando meta un nuevo análisis en alguna de las hojas, automáticamente se copie y peque en la hoja "resumen".
Estaría muy agradecida si alguien me pudiera indicar como conseguirlo.
Muchas gracias,
María,
ResponderEliminarcreo que la mejor opción sería optar por configurar una tabla dinámica de rangos múltiples de consolidación
http://excelforo.blogspot.com/2010/05/rangos-de-consolidacion-multiples.html
donde recoger todas las adiciones de datos en algunas o todas las hojas de trabajo, aprovechando los 'rangos dinámicos'.
También podrías optar por combinar las Listas o Tablas como origenes de datos con una única Tabla dinámica.
Otra opción, antes de optar por las macros (no creo que aporten nada especial a tu trabajo) sería la opción de 'Consolidar'
Hace tiempo subí una macro que realizaba en parte lo que quieres.
http://excelforo.blogspot.com/2009/10/macro-para-agrupar-datos-de-diferentes.html
Espero te sirva alguna de las ideas... si no es así ponte en contacto en
excelforo@gmail.com
Slds
Hola,
ResponderEliminarmuchas gracias por todas las opciones. Voy a probarlas y si tengo algún problema o duda, escribiré al correo.
muchas gracias de nuevo.
Un saludo,
hola:
ResponderEliminarnecesito informacion acerca de como puedo ingresar u obtener el formulario para hacer que una macro sea transparente.
por favor ayudenme en este caso..
Gracias
¿¿hacer que una macro sea transparente??...
ResponderEliminarPodrías aclarar este punto.
Gracias
Hola que tal
ResponderEliminarRequiero su ayuda para lograr lo siguiente: quiero trasladar los datos de una celda a otra de manera programada cada 52 días, mas que nada es mover el día de descanso de una persona un día antes, si el descanso hoy lo tiene en martes, que de manera automática en 52 días sea en lunes.
Copio dos lineas de una amplia lista de empleados que se maneja en la empresa., el tema es hacerlo de manera automática con cada empleado. ya que de manera manual es un problema. Los datos deben ser respetados o sustituir a los otros.
Hoy
L M Mi J V S D
3 2 2 1 1 D 3
1 D 3 3 2 2 1
Contando en 52 dias
L M Mi J V S D
2 2 1 1 D 3 3
D 3 3 2 2 1 1
ESPERO SU GRAN AYUDA, GRACIAS DE ANTEMANO. SALUDOS
No termino de ver tu problema, ya que no se si pretendes que varíe automáticamente sobre las mismas celdas o sobre otras.
ResponderEliminar¿Podrías enviarme el fichero resumido a
excelforo@gmail.com??
Gracias
Hola, estoy haciendo un cuadro para calcular viaticos:
ResponderEliminarse divide en: nivel1,nivel2,nivel3
cada nivel tiene 2 zonas a y b, de ello depende el valor a pagar.
nivel 1 zona a = $130
nivel 1 zona b = $100
nivel 2 zona a = $100
nivel 2 zona b = $80 etc
el pago se divide en horas de
4a6 se paga el 25%
6a8 se paga el 50%
si pernoctan el 100%
Lo que quiero es q al momento de calcular las horas y habiendo puesto el nivel y la zona, automáticamente me salga el valor a pagar
Hola Pharaoh,
ResponderEliminarpara solucionar tu problema deberás anidar, por ejemplo, varias funciones SI condicionales:
=SI(nivel=1;SI(zona="a";SI(Y(horas>=4;horas<6;130*0,25;etc))))
o bien contruir una función personalizada
http://excelforo.blogspot.com/2010/04/select-case-anidado.html
Si no ves claro cómo emplearlo, envíame un ejemplo a
excelforo@gmail.com
Slds
Gracias, ahora lo que necesito es que cuando sobrepase las 8 horas siga saliendo el resultado de 6 a 8
ResponderEliminarexcelente página!!!
Hola de nuevo.
ResponderEliminarse hace complicado seguirte si envías preguntas por email y vía comentarios sobre la misma cuestión.
Revisa el fichero que te adjunté, realmente la estructura de lo que quieres ya está definida, sólo necesitas una ligera modificación de una de los argumentos de tu función SI anidada.
Slds
buenos días
ResponderEliminaralguien me podría rsponder la siguiente duda?
he realizado una macro que realiza unos cálculos en una hoja de mi archivo excel, en ese mismo archivo hay diversas hojas
he creado un boton que ejecute esa macro,
el problema es que quiero poner otro botón idéntico en la última hoja donde de muestran todos los resultados, pero si copio el botón y lo pego en otra hoja no ejecuta la macro, o por lo menos no se realizan los cálculos
Muchas gracias
Tengo un formulario como este, donde copia de la hoja1(WPR)las filas donde la aprobadas es =9.
ResponderEliminarPrivate Sub CommandButton1_Click()
Dim reclamacion As Double
Dim clain As Double
Dim importe As Double
Dim aprobada As Double
For i = 2 To 425
reclamacion = Cells(i, 1)
clain = Cells(i, 2)
importe = Cells(i, 3)
aprobada = Cells(i, 4)
If aprobada = "9" Then
Sheets("APROBADAS").Select
Cells(i, 1) = reclamacion
Cells(i, 2) = clain
Cells(i, 3) = importe
Cells(i, 4) = aprobada
Sheets("WPR").Select
End If
Next i
End Sub
Lo que necesito es que las filas que copia en la hoja2(APROBADAS)las coloque una debajo de otra en la fila a13 de la hoja 2, ya que tal y como lo tengo las envia a la hoja 2 en la posicion que estan en la hoja 1.-
Muchas gracias
Hola, buenas tardes,
ResponderEliminarrespecto al copiado de un botón con una macro asignada en diferentes hojas, deberías por revisar que las referencias de la macro sean absolutas y no relativas, quiero decir, quizá la macro creada se refiera exclusivamente a datos de la Hoja1...
En principio, si copias el botón con macro, se ejecuta de igual forma esté donde esté.
Coméntame cómo lo ves.
Slds
Hola Marcos,
ResponderEliminarcreo que complicas demasiado la operación, ya que realmente lo que quieres es que se recojan sólo aquellas filas o registros donde el cuarto campo ('aprobada') cumpla un criterio (sea igual a 9); esto es, quieres aplicar un filtro sobre una base de datos.
Por lo que tienes dos opciones aplciar un filtro normal (sin emplear código) o bien aplicar un filtro avanzado sobre la base de datos.
Puedes construir una macro parecida a esta, donde realizará lo que quieras
http://excelforo.blogspot.com/2009/10/macro-de-un-filtro-avanzado-en-excel.html
filtrarás la base de datos que tengas (de 425 registros) y copiaras sólo los registros que cumplen la condición de aprobada = 9 donde tu quieras (desde la fila 13, por ejemplo).
Slds
TEMA DEL BOTON MACRO
ResponderEliminarMuchas gracias por la ayuda, peor no entiendo lo de relativas...
Mi macro es la siguiente (que esta en una hoja llamada 'Instantaneous losses'
Sub SolverMacro()
SolverReset
SolverOk SetCell:="'Instantaneous losses'
K40", _
MaxMinVal:=3, _
ValueOf:="0", _
ByChange:="='Instantaneous losses'!J40"
SolverSolve userFinish:=True
End Sub
Y asigno un boton a esa macro en esa misma hoja y funciona perfecto,
pero yo quiero poner ese mismo boton en otra hoja llamada 'Final Results' para que cada vez que modifica algo que afecte a las celdas que emplea dicha macro no tenga que volver a la hoja
'Instantaneous losses' y pulsar el boton
No se si me he explicado correctamente, muchas gracias
Hola,
ResponderEliminarefectivamente tu macro apunta siempre a la hoja 'Instantaneous losses', es por tanto una referencia absoluta, esto es, siempre estés en la hoja que estés, siempre ejecutará sobre la hoja mencionada.
Prueba cambiando:
Instantaneous losses'!K40 por Activesheet.range("K40")
y
Instantaneous losses'!J40 por
Activesheet.range("J40")
De todas formas te comento que en general la ejecución de macros sobre Solver siempre son problemáticas...
Slds
Hola ExcelForo:
ResponderEliminarAgradeceré si iluminas a este humilde "a lumni".
Requiero hacer un formulario de tamaño A4 o Letter y que no se vean las líneas de división. Debo colorearlo en sus divisiones y contendrá varios ComboBox para ser llenados por el usuario.
Favor tus indicaciones para mejor comienzo.
Gracias.
Anónimo
Entiendo que por formulario quieres decir plantilla de datos; por lo que para diseñarlo y poder imprimirlo en tamaño A4 o Letter sólo deberás diseñar los diferentes campos y configurar el área de impresión a alguno de esos tamaños; desde la Ficha Diseño de página > Grupo Configurar página > Pestaña Página > Tamaño papel A4 (o Letter).
ResponderEliminarPara que no te aparezcan lass líneas de división desde Diseño página > Opciones hoja > Líneas de la cuadrícula (desmarcada).
Los distintos combobox los incluirias donde mejor consideraras.
Slds
Gracias por anticipado a quien me pueda ayudar:
ResponderEliminarTengo un libro con macros y necesito hacer un acceso directo para abrirlo sin tener que pasar por toda la rutina de aceptar abrirlo.
Cómo puedo hacerlo?
Muchas gracias
Apa
Hola,
ResponderEliminarel problema que planteas es complicado, ya que el paso de aceptar abrir el fichero con macro, con la seguridad habilitada, es un proceso necesario para Excel. La opción que tendrías (y no se recomienda) es dejar la Seguridad de macros sin activar, de esta forma abrirías tus ficheros sin solicitud de confirmación... pero dejas abierta la puerta a cualquier fichero externo, con la posibilidad de virus...
Saludos
hola,hay alguien que me auxilie, estoy tratando de hacer un programa que calcule los dias de vacaciones de una persona que descansa dos dias en la semana (mar. mier.)sin contar estos y tomara 15 dias de descanso, que me diga el dia que debe presentarse al termino de estos.
ResponderEliminarHola,
ResponderEliminarparece que lo que quieres es conocer el día de reincorporación al trabajo de una persona con unas vacaciones de 15 días, sin contar martes y miércoles, conociendo el primer día de vacaciones de dicha persona.
Para eso podríamos crear la siguiente función personalizada:
Function fechareincorporacion(fechainicio As Date)
Dim dsemana As Date
vacaciones = 15
d = 0
x = 1
Do
dsemana = Application.WorksheetFunction.Weekday(fechainicio + d, 2)
If dsemana = 2 Or dsemana = 3 Then
x = x + 0
Else: x = x + 1
End If
d = d + 1
Loop Until x = 15
If Application.WorksheetFunction.Weekday(fechainicio + d, 2) = 2 Or Application.WorksheetFunction.Weekday(fechainicio + d, 2) = 3 Then
fechareincorporacion = fechainicio + d + 2
Else
fechareincorporacion = fechainicio + d
End If
End Function
Puébalo y me cuentas si te sirve... El código lo tienes que copiar en un módulo del editor de VBA de tu hoja de cálculo.
De todas formas subiré en cuanto pueda un post explicando la función.
Slds
Hola a todos.
ResponderEliminarNecesito vuestra ayuda con el siguiente macro y es que funciona sólo para una celda, pero yo necesito que funcione para un rango seleccionado de celdas.
Les agradezco por anticipado vuestra valiosa ayuda.
Function Variacion()
x = Range("G9").Value
If x <= -3.1 Then
Range("H9").Value = "B.N"
Else
If x < 0.5 And x < -3.1 Then
Range("H9").Value = "E.B"
Else
If x >= -0.5 And x <= 0.5 Then
Range("H9").Value = "E"
Else
If x >= 0.5 And x < 3.1 Then
Range("H9").Value = "E.A"
Else
If x >= 3.1 Then
Range("H9").Value = "A.N"
Else
Range("H9").Value = ""
End If
End If
End If
End If
End If
End Function
Muchas gracias.
Hola Manuel,
ResponderEliminarlo que buscas se puede hacer con el código: FOR EACH...NEXT
Puedes ver como funciona en:
http://excelforo.blogspot.com/2010/11/vba-for-each-next.html
Basicamente tus condiciones IF serían las mismas...
Un saludo
Favor: tengo un archivo en excel 2007 con mas de 100000 filas, necesito grabarlo en 2003 sin perder ningun dato ya que esos me sirven para realizar un vloockup, no debe faltar ni uno.
ResponderEliminarauxilioooooo urgenteeeee
gracias
oki
Hola,
ResponderEliminarpues lo primero que tendrás que hacer es partir tu listado en dos, ya que como sabemos cada hoja de Excel 2003 sólo llega hasta las 65.000 y pico filas.
Supongamos que partimos tu listado en dos hojas con 50.000 datos en cada hoja (Hoja1 y Hoja2).
Como quieres realizar un BUSCARV deberás modificar y adaptarlo a la nueva situación, mi propuesta sería si el elemento buscado estuviera en G1:
=SI(ESERROR(BUSCARV(G1;A:B;2;0));SI(ESERROR(BUSCARV(G1;Hoja2!A:B;2;0));"FALTA ELEMENTO";BUSCARV(G1;Hoja2!A:B;2;0));BUSCARV(G1;A:B;2;0))
Espero te sea de utilidad.
Slds
---- Hola mi nombre es Oki, en mayo 17, 2011 , solicite la siguiente ayuda:
ResponderEliminarmayo 17, 2011
Anónimo dijo...
Favor: tengo un archivo en excel 2007 con mas de 100000 filas, necesito grabarlo en 2003 sin perder ningun dato ya que esos me sirven para realizar un vloockup, no debe faltar ni uno.
auxilioooooo urgenteeeee
gracias
oki
mayo 17, 2011
---- A lo que uds me respondieron:
ExcelForo dijo...
Hola,
pues lo primero que tendrás que hacer es partir tu listado en dos, ya que como sabemos cada hoja de Excel 2003 sólo llega hasta las 65.000 y pico filas.
Supongamos que partimos tu listado en dos hojas con 50.000 datos en cada hoja (Hoja1 y Hoja2).
Como quieres realizar un BUSCARV deberás modificar y adaptarlo a la nueva situación, mi propuesta sería si el elemento buscado estuviera en G1:
=SI(ESERROR(BUSCARV(G1;A:B;2;0));SI(ESERROR(BUSCARV(G1;Hoja2!A:B;2;0));"FALTA ELEMENTO";BUSCARV(G1;Hoja2!A:B;2;0));BUSCARV(G1;A:B;2;0))
Espero te sea de utilidad.
Slds
---- Realmente buenisima la sugerencia, la puse en practica en una sola hoja pero en diferentes columnas y funciona con la formula que me dieron Uds modificandola un poquito, realiza la busqueda y todo bien, pero como es una busqueda laaaarguisima tarda una eternidad.
---- Podrian tal vez sugerirme algo para que apure dicha busqueda y no tarde una eternidad cada q meta un dato y busque?.
Muchas Gracias y Saludos.
Ah y perdon no se donde calificarlos,pero uds se merecen 100 puntos.
Gracias nuevamente
Hola Oki,
ResponderEliminarprobablemente una macro resolviera el problema de tiempo...
Buscaré una solución y la colgaré en el blog.
Un saludo
P.D.: muchas gracias por tu palabras de apoyo a mi pequeña contribución personal.
Hola nuevamente,acudo a Uds. por que son realmente buenisimos en darnos soluciones a nuestros problemas.
ResponderEliminarLes molesto ahora con otro problemilla: Tengo la lista enorme que he metido (mas de 8000 datos), resulta que en la lista hay datos duplicados, triplicados e incluso tal vez mas, lo que debo hacer ahora es revisar si cada dato tiene su duplicado o mas y sumar la cantidad que tuviera dicho dato, ejm
1S-2345 4
1J-4577 8
1S-2345 2
5R-7865 1
1S-2345 1
En este caso 1S-2345 es el dato que se repite, pero en una lista de 8000 pudiera estar en cualquier lugar de la lista, como veran hay que buscar en toda la lista y sumar no se tal vez en otro lugar sus cantidades que se encuentran en otra columna, luego devolver el mismo dato con el total de sus cantidades, en este caso 1S-2345 tendria 7, luego deberia borrar los otros datos duplicados.
Por favor les ruego me ayuden urgentemente con esta situación, se que se debe hacer una macro y cargarlos en vectores, pero soy tan nuevo en esto que lo de vectores todavia no me entra, Gracias nuevamente y felicidades por todos sus aportes.
auxilioooooo
Hola Oki,
ResponderEliminarno veo necesario aplicar macros, ya que con la herramienta estándar de Tablas dinámicas obtendríamos lo que quieres.
Se trata de generar una TD sobre esas dos columnas de 8000 registros, llevarnos el campo 'código' - primera columna- al área de filas, y el campo 'número' - segunda columna al área de datos, resumido por suma.
Con esto conseguirías una tabla con los 'códigos' únicos (sin repetir) y al lado la suma acumulada del listado original para cada 'código'.
Espero te sirva.
Un saludo
Hola buen día y gracias por la sugerencia, pero una TD me limita a no poder modificar los datos y lo que necesito es hacer lo anterior en la misma tabla, es decir unificar los datos repetidos sumando sus cantidades, para que cuando luego haga una busqueda mediante un formulario me muestre el unico dato con su total existente, en si el trabajo es para un pequeño almacen de donde tengo que buscar, si existe sacar algo, pero para eso no debe haber duplicados, sino el total de algo.
ResponderEliminarDe todas maneras gracias por la sugerencia me servirá para otras circunstancias, pero haber si pueden ayudarme con la situación anterior que les pedi.
Muchas gracias nuevamente
Hola probe lo de la tabla dinamica, y me funciono, una vez que unio todos los datos duplicados y sumo sus cantidades, lo copie como valor en los datos oficiales sin necesidad de hacer macros como me dijeron.
ResponderEliminarRealmente Uds. son excelente ayuda (digo Uds. o solo Ud.).
Muchas gracias nuvamente, felicidades y sigan adelante.
sabes yo se lenguaje java, y en mi trabajo necesito utilizar mucho el excel así que el lenguaje java se me queda poco servible; como necesitaba aprender a crear funciones en las que se utilizaran ciclos,necesitaba aprender a crear macros, y tu pagina me ha sido de gran utilidad gracias
ResponderEliminarademas aprendi a traducir de lenguaje java a c++.
ResponderEliminarHola Norman,
ResponderEliminarme alegro que mis pequeños apuntes de VBA te sirvieran de algo, la verdad es que por lo que sé, la estrucutura de programación es similar en todos los lenguajes, y que se diferencian principalmente en las instrucciones del código en concreto.
Un saludo y suerte!!
Hola soy Oki nuevamente, lei el comentario anterior y me parece fabulosa la utilidad que le dan muchos a sus enseñanzas prácticas, me gustaria aprender a hacer programas macros y mas que todo aprender estructuras de programación con macros en excel, quisiera pedirles por favor puedan facilitarme algunos ejemplos de pequeños programas y lo que hacen especialmente trabajando con listas, valores y matrices.
ResponderEliminarGracias
Hola amigo Oki,
ResponderEliminarla verdad es que el mundo de la programación es interminable, yo mismo estoy empezando a adentrarme en él... lo que voy descubriendo lo voy colgando en el blog para compartirlo.
Lo tendré en cuenta y los nuevos post intentaré orientarlo hacia la temática que comentas... mientras podrías revisar la categoría de Macros.
Un saludo
Hola amigo me puedes ayudar a hacer un control de medicamentos controlados son como 200 y me lo exigen llevar un control de entrdas y saludas que me recomiendas
ResponderEliminarHola,
ResponderEliminarsin tener más datos, y por intentar ayudar, te diría que llevaras un control de entradas y salidas por medicamento, en tablas distintas, y en una tercera resumieras sumando y restando por cad medicamento el stock restante...
Poco más te puede decir con los datos que aportas.
Slds
Hola, ocupo crear un botón en excel, que cuando yo presione el botón el automáticamente me mande a imprimir la hoja de excel
ResponderEliminarHola Adrían,
ResponderEliminarpara crear una macro tan sencilla como es imprimir una hoja te recomiendo que emplees el asistente para macros, y que una vez creada simplemente sigas los pasos de este mismo post para asignar la macro a un botón, como quieres...
Espero te sirva.
Slds
o0la, como puedo relacionar una hoja de excel con otra utilizando macros
ResponderEliminarHola,
ResponderEliminarpara traer datos de otras hojas puedes ver el post
http://excelforo.blogspot.com/2011/02/vba-formas-de-copiar-rangos-o-celdas.html
Slds
como puedo copiar unas formulas sin que se pierdan .
ResponderEliminarHola,
Eliminarpara copiar fórmulas, deberás seleccionar primero la celda que contenga dicha fórmula, y luego seleccionar la celda destino y Pegar especial > Fórmulas.
Un saludo
Hola. Necesito hacer un macro donde me calcule volumenes de unos silos, donde conozco las dimensiones da la altura y todos los datos del contenido de éste silo. Lo que varían son las alturas del contenido de éstos contenedores, y que serían los datos que debería ingresar al macro.
ResponderEliminarAdemás, quisiera agregarle más dinámica al macro, viendo si existe la posibilidad de representar con un dibujo éste silo con alguna especie de línea que me determine una altura del contenido.
Siendo así, y comento que soy nuevo en ésto (en macros), ¿hay alguna forma en la que me puedan orientar?, algún buen tutorial, tanto de la misma programación de los cálculos (básicos) que debiera hacer, de cómo quede con estética alguna interfaz donde se deba ingresar los datos de medidas de altura (de los cuales se debe sacar un promedio), de cómo dibujar... etc.
Muchas gracias. :)
Hola, por lo que leo, no creo necesario trabajar con macros, ya que según dices se trata sólo de calcular unos volumenes, esto es, de una fórmula tipo base por altura; datos que entiendo tendrás desplegados en alguna tabla.
EliminarEl asociar un gráfico que represente la altura sería lo más sencillo, bien con un gráfico de columnas, o incluso con los minigráficos de Excel 2010 (si es que trabajas con esta versión).
Buenos tutoriales de VBA los hay, pero tendrías que buscar por la web.. es siempre más recomendable navegar y preguntar por foros o blogs.
En resumen, te recomiendo plantees fórmulas, es más sencillo y rápido.
Slds
Buenas
ResponderEliminarNo he podio agradecer vuestra ayuda en el link 'responder'. Por eso lo hago desde éste otro comentario. Gracias 'ExcelForo' por la respuesta. Pues tengo solucionado el problema de los silos, y ya he avanzado bastante teoricamente. Sólo he quedado 'pegado' en una duda.
Resulta que la macro toma valores ingresados, los cuales son sumados para cumplir un sierto estandar en las mediciones (el resultado queda en números decimales). Cuando quiero sacar el promedio entre varios números decimales, al hacer la suma de éstos da como resultado un número entero (y necesito que me de el número exacto, NO aproximado) el cual es dividido por el total de números; un promedio, jeje.
Básicamente mi duda es, ¿cómo hago para que la macro tome siempre los valores exactos en cálculos dentro de la misma macro?, ¿y no aproxime valores?...
Agradezco tu tiempo y, disculparme si he posteado en un lado que no vaya con la pregunta.
Saludos.
Hola de nuevo... me alegro te sirviera de algo mi consejo anterior.
EliminarSin ver tu macro es dificil decir algo, pero supongo que la cuestión está en la definición que hayas realizado dentro de tu código de las variables, quizá tipo Integer o Long ???, prueba con tipo Double (aunque es un tipo de varibale que consume más memoria del equipo).
Un saludo
Hola, necesito crear una macro que abra un archivo de texto en la cual su nombre sea ingresado en una celda.
ResponderEliminarAgradecere mucho su ayuda.
Atte.
ED:xcell
Hola ED:xcell,
Eliminarel código para abrir desde Excel un fichero tipo texto podría ser algo asi:
Sub AbrirFileText()
Dim NombreArchivo
NombreArchivo = Application.GetOpenFilename
If NombreArchivo = False Then Exit Sub
Workbooks.OpenText Filename:=NombreArchivo, Origin:=xlWindows, _
StartRow:=1, FieldInfo:=Array(1, 1)
End sub
Este abrirá un explorador para que indiques dónde está el fichero de texto...
Slds
Hola.. Tengo un problema con una macro, me funciona en windows XP pero no funciona en Windows 7.
ResponderEliminarCual podria ser el problema??
el error que muestra es el siguiente:
Se ha producido el error '75' en tiempo de ejecucion
Hola Frank,
Eliminaren principio, salvo que estés utilizando en tu macro algún tipo de objeto muy especificio de Windows XP, no tendría que darte ningún problema.. y más cuando has cambiado a una versión superior de Windows.
En todo caso, hasta donde sé, las incompatibilidades de VBA salen en los cambios de Office, y no tanto en Windows.
Siento no poder ayudarte más.
Un saludo y suerte
Hola Frank,
ResponderEliminarEstoy coiando un rango de celdas ha otra hoja con una macro. En el punto que selecciona el rango en la segunda hoja se bloquea la macro.
Esto se ejecuta con un botón en la primera hoja.
Cual es el error?
Private Sub CommandButton1_Click()
'
' Macro1 Macro
'
'
Range("B5:D36").Select
Selection.Copy
Sheets("Hoja3").Select
Range("E2").Select
ActiveSheet.Paste
Range("A1").Select
End Sub
Hola,
Eliminarsi lo que queres es copiar y pegar valores de celdas en otras partes de tu Libro de trabajo, revisa primero esta entrada:
http://excelforo.blogspot.com.es/2011/02/vba-formas-de-copiar-rangos-o-celdas.html
Si sigues teniendo problemas házmelo saber.
Slds
P.D.: por cierto, quien es Frank??
hOLA NECESITO UN GRAN FAVOR, TENGO UNA COLUMNA CON CIERTOS DATOS Y REQUIERO ME MARQUE LA CELDA DE AMARILLO CUANDO SE DUPLIQUE Y DE ROJO CUANDO DICHO VALOR SE TRIPLIQUE, YA PUDE PONER EL DUPLICADO PERO NO SE COMO HACER PARA PONER EL TRIPLICADO.....MUCHAS GRACIAS, ESPERO SU RESPUESTA.
ResponderEliminarHola,
Eliminaren esta entrada se explica cómo poder localizar los valores duplicados mediante una fórmula con el Formato condicional:
http://excelforo.blogspot.com.es/2009/06/formato-condicional-con-formula.html
esta fórmula modificada y adaptada a tu caso, servirá también para localizar los triplicados... (contar.si > 2)
Un saludo
Hola,
ResponderEliminarQuiero borrar todo el texto que está fuera de las comillas inclullendo estas y conservar el que está dentro con un reemplazar.
MarkingTextBegin = 25, "14Q5:4", 1
Como podría hacerlo?
Hola,
Eliminarsupongo que estás hablando de hacerlo con funciones en la Hoja de cálculo...
lo que ocurre es que con un REEMPLZAZAR se puede complicar bastante. Sería mucho más sencillo con una función EXTRAE
=EXTRAE(A1;ENCONTRAR(CARACTER(34);A1)+1;6)
siendo CARACTER(34) las comillas.
Espero haberte orientado.
Slds
buenas necito cargar datos en una planilla exel y luego con esos datos generar un archivo de texto, pense en utilizar una macro(con codigo en visual levantar los datos de la planilla, darle formato y crear el archivo). El caso es que no puedo crear el archivo y no se si es por un tema de librerias o que. Si me podrian ayudar seria de mucha ayuda. Gracias
ResponderEliminarHola,
Eliminarquizá te pueda orientar lo publicado en esta entrada:
http://excelforo.blogspot.com.es/2010/05/macro-para-guardar-como-texto.html
Con algunas modificaciones podrías construir tu macro.
Siento no poder ayudarte más, pero con los datos tan generales que aportas es complicado.
Slds
Hola podrían apoyarme con una macro que tengo que importar información de un txt al excel y que se coloque en columnas de la A hasta la M, me ayudarían un montón.
ResponderEliminarGracias por tu tiempo, saludos cordiales
Atte.
Luiggi
Hola Luiggi,
Eliminarbueno para realizar una importación a Excel desde un fichero texto, puedes emplear este código:
Sub ImportarDatosTexto()
Open "C:\ArchivoTexto.txt" For Input As #1
r = 0
Do Until EOF(1)
Line Input #1, Data
ActiveCell.Offset(r, 0) = Data
r = r + 1
Loop
Close #1
End Sub
con esta macro importas fila a fila los datos del fichero texto, independientemente de las columnas que tenga, en una sóla celda!!!, separando cada columna con algún caracter especial.
Lo bueno es que de esta forma, con un código sencillo, luego es fácil tratar la información con el Asistente de Texto en columnas...
El código para que la macro realice la separación por columnas es algo más complejo.
Espero te sirva.
Slds
bueno necesito ayuda en macros alguien me ayude es para mañana
ResponderEliminarla preguntas son estas
4.- Realizar una macro que permita llenar los datos para el servicio de identificacion(ci) y luego que sealmacene en una hoja llamada registro (REalizar el formulario con listas))
5.- REalizar un formulario que permita capturar una transaccion finanaciera, una vez capturada determinar su itf
6.- Realizar un formulario que permita transformar una temperatura en centigrados a grados farenheit y kelvin
les agradeceria alguien q me pueda ayudar
7.- Realizar un formulario que permita capturar los datos de una inscripcion de materias
8.- Realizar un formulario que permita determinar el menor de cuatro salarios que se encuentran elas celdas (a1:a4)
BUENAS TARDES... TENGO UN BOTON EN EXCEL CON UNA MACRO Y QUIERO QUE DICHO BOTON SEA TRASPARENTE... Y NO SE COMO HACERLO... ALGUIEN ME PUEDE AYUDAR...
ResponderEliminarHola Willian David,
Eliminarentiendo que el botón es un Control de formulario...
si es este el caso, no podrás formatearlo como pides. Sin embargo, en su lugar puedes insertar una autoforma de tipo rectángulo (por ejemplo) y desde formato de forma configurarla Sin relleno; igualmente podráss posteriormente asignarle una macro, con idéntica funcionalidad.
Un saludo
P.D.: por favor, evita escribir en mayúsculas... significa que estás gritando ;-)
hola tengo una consulta, quisiera saber si es posible crear un boton en excel macros, que al darle click me de el porcentaje de un monto determinado, es decir si tengo $100.00 en una celda , quiero darle click al boton creado y que me cacule el 50% automaticamente y me arroje el resultado en una celda adjunta, en este caso tendria que arrojar $50.00 parece simple pero no encuentro la manera de como hacerlo utilizando el macros
ResponderEliminarHola Christian,
Eliminarbueno, claro es posible, la clave es el código de la macro que luego asignarás.
El código podría ser así de sencillo:
Sub mitad()
If IsNumeric(ActiveCell.Value) = True Then
ActiveCell.Offset(0, 1).Value = ActiveCell.Value / 2
Else
ActiveCell.Offset(0, 1).Value = ActiveCell.Value
End If
End Sub
y luego y apuedes asignarlo en un botón.
Este código te calculará la mitad del valor de cualquier celda activa que tengas al pulsar el botón; si el valor no es numérico te devuelve el mismo texto.
Espero te sirva.
Slds
Para controlar una bodega contrui una planilla Excel 2007 y tiene macros. Los item necesitan codigos alfanumericos y trabaja con centros de costo, proveedores y otros. No es demo, sin vencimientos ni compromisos. La comparto a verdaderos interesados, solo escribe a: apolopelao @hotmail.com y asi no dormira en mi equipo.
ResponderEliminarMuchas gracias por el ofrecimiento!!
EliminarTe honra la aportación gratuita de tu trabajo.
Un cordial saludo
Hola:
ResponderEliminarTengo una macro que abre una hoja oculta con un boton, pero quier que borre ciertas celdas al momento de abrir esta hoja. Por si dejaron datos en ella.
Me podrían ayudar?
Hola,
Eliminarpara borrar esas celdas, sólo tendrías que añadir el siguiente código en el Explorador de proyectos, en la Hoja en cuestión:
Private Sub Worksheet_Activate()
Range("A1").Clear
End Sub
al entrar en la Hoja en cuestión se borrará todo lo de la celda A1...
Espero te sirva.
Slds
Muchas Gracias por tu pronta respuesta, solo una pregunta el comando va despues del
EliminarPrivate Sub CommandButton1_Click()
Sub MostrarBalance()
'
' MostrarBalance Macro
'
Sheets("Edo Resultados").Select
Sheets("Balance General").Visible = True
Range("D8").Select
o antes.
Gracias
Hola,
Eliminarsupongo que ese evento click asociado al botón lo tendrás en la hoja, dentro del Explorador de proyectos, el código que te adjunté lo puedes añadir antes...
Es decir, primero
Private Sub Worksheet_Activate()
Range("A1").Clear
End Sub
y a continuación tu código...
aunque es indiferente.
Date cuenta que son dos procedimientos distintos, el que adjunté se ejecuta siempre que se active la hoja en cuestión, el tuyo sólo al hacer click en el botón.
Slds
Hola, soy nuevo en lo de macros, ojala me puedan ayudar, e creado un combobox y cuando estoy en la sentencia funciona muy bien, cuando cierro el excel y otra vez abro los combobox se quedan sin datos, a que se debe , espero me puedan ayudar.
ResponderEliminarHola!!
Eliminarbueno, habría que ver las sentencias asociadas al ComboBox, y cómo cargas con elementos a éste.
Podrías adjuntar el código o bien enviarmelo a excelforo@gmail.com???
Un saludo
Hola Quisiera agregar a un boton, la opcion solver. Basicamente ya tengo configurado lo que quiero en solver, pero quisiera que los que van a utilizar dicha herramienta no se tengan que meter en solver y darle aceptar.... hay posibilidad de ejecutar esto?.... tengo excel 2010... mil gracias
ResponderEliminarHola,
Eliminarsi ya conoces las diferentes opciones de la configuración de Solver, puedes emplear el asistente de grabación de Macros, para luego asignar el código al botón.
Es lo más sencillo, sin entrar en el detalle del código.
Slds
Hola, necesito crear un boton en excel que copie y pegue a otra ubicacion, los datos de una fila determinada, pero que lo datos se peguen donde se coloque el cursor, los datos de la fila a copiar, varian de acuerdo a unos parametros asignados, si alguien pudiera ayudarme.
ResponderEliminarHola,
Eliminardesconozco esos parámetros, pero una macro podría ser:
Sub macro1()
Range("A6:E6").Copy
ActiveCell.PasteSpecial Paste:=xlPasteValues
End Sub
y luego asignarla a un botón.
Esta macro te copiaría el rango A6:E6 a la celda que tengass activa...
Slds
Gracias por la ayuda, la macro funciona, pero copia y pega en celdas activas de la misma hoja, ¿como haria para copiar datos de una hoja y pegarlos en otra?
ResponderEliminarHola,
Eliminarbueno, indica que lo que hay que copiar está en otra hoja, por ejemplo
Sub macro1()
Sheets("Hoja1").Range("A6:E6").Copy
ActiveCell.PasteSpecial Paste:=xlPasteValues
End Sub
y ejecuta la macro desde la hoja donde quieras pegar ese rango copiado.
Slds
Gacias Ismael, me fue de gran ayuda, sobretodo la rapidez con que lo hiciste, exitos.
ResponderEliminarSaludos
Tengo una macro que se activa cuando en a1 se coloca un 1 pero quiero que mientras la celda tenga el 1 se siga ejecutando
ResponderEliminarHola, que tal!
Eliminarespero estés bien.
Yo dispondría de una macro en un Módulo, y un procedimiento en la hoja donde esté la celda A1 que comentas, con un procedimiento Change, de tal forma que cuando A1 cambie ejecute la macro.
Slds cordiales
buenas noches tengo una factura en la que utilizo el comando
ResponderEliminarSub factura()
Range("C8:C28").Clear
End Sub
estolo hice para no borrar celda tras celda pero no se como hacer par que no me borre el formato aplicado a C8:C28 ya que esta centrado y la darle clic me borra todo incluido formatos les pido orientacion o algun codigo fuente que ayude a no borrarme el formato gracias
Hola!!
Eliminarpara borrar sólo el contenido y mantener formatos emplea
Range("C8:C28").Clearcontents
Slds
hola quien me ayudaria hacer una base de dato mi necesidad es esta vendo producto de cerveza toda laspresentaciones soyminorista yo tengo una en excel que me maneja ventas diarias y otra de existencias pero es que quiero hacer directamente que cuando meta las ventas diarias me haga el descuente en las existencias si hoy vendo 10 cajas de aguilita en existencias tengo 20 para el dia que siguiente deben de haber 10 , hya una hoja que tengo de creditos y otras de abonos tengo la base de datos en excel puedo enviar ejemplo de como la tengo este es mi correo enchovictoriano@hotmail.com
ResponderEliminarHola Daedtecnologys,
Eliminarparece que lo que quieres es una base de datos completa que se configure como un Control de inventario.
Esto queda fuera de una ayuda normal, lee las Normas de uso del blog.
Si necesitas contactar en este sentido envíame un correo con el fichero y todas las explicaciones posibles a
consultoria@excelforo.com
y te enviaré presupuesto
Slds cordiales
hola, una duda
ResponderEliminarme puedes pasar algun link donde expliquen como o un archivo con un ejemplo de lo siguiente?
se puede poner un boton que cree una nueva tabla o conjunto de celdas?
Lo ideal es que los nuevos campos queden en la
misma pestaña donde estén los indicadores.
supongo es un boton para mostrar algo
Es decir, cuando apreto una vez el boton quisiera que un conjunto de celdas fueran visibles. ¿Alguna idea de cómo hacerlo?
Gracias
Hola...
Eliminarbueno, son cosas muy diferentes las que estás planteando, por lo que no me queda claro finalmente qué pretendes.
Por supuesto es posible crear una Tabla con macros, pero ?crear un conjunto de celdas?... quizá te refieres a seleccionar un rango concreto?.
Para Activar o seleccionar una rango de celdas sólo tienes que añadir una macro:
Sub MostraCeldas()
Range("B1:C5").Select
End sub
y luego insertar un Botón de fórmulario y asignarle esa macro... al presionar el botón, se jecuta la mcro, y se seleccionarán y verás ese rango B1:C5.
Espero te oriente y aclare algo.
Slds
Hola una duda...
ResponderEliminarCómo insertar filas en excel manteniendo las fórmulas y el formato?
Hola, que tal!
Eliminaren general la acción de Insertar (filas, columnas, celdas...) mantiene el formato de lo anexo arriba o a la izquierda.
Mantener las fórmulas es diferente, para eso tendrías que construir sobre el rango una Tabla, así los campos formulados te los autorrellenará con la fórmula indicada (y el formato, claro).
En próximos días subiré una entrada al blog explicando esta opción de la Tabla de Excel.
Slds cordiales
Hola una duda.
ResponderEliminar¿como se puede copiar datos de una celda a otra hoja de excel al ingresar un valor?
Tengo dos hojas de excel, en la hoja 1, tengo unos campos de la columna C a la G.
alli voy a poner un nombre y dos fechas
lo que quiero es que: Cuando yo ingrese los datos de nombres y fechas, ese mismo dato se ponga en la hoja dos a partir de determinada columna y fila.
lo dificil es que, en la hoja 2 yo tengo mas datos abajo de estos campos, y lo que quiero es que al poner un dato en la hoja 1, se me agregue una nueva fila en la hoja dos ( que me recorra todos los datos que estan abajo sin modificarlos). y que si sigo llenando la hoja 1, se agreguen filas con esos datos en la hoja 2
es posible de alguna forma?
algun boton o algo asi?
Espero de su pronta ayuda. Gracias =)
Hola,
Eliminarbueno lo que necesitas es una macro (que en todo caso podrías asignar a un botón... pero sólo el botón no haría nada).
Para copiar celdas con macros puedes leer esta entrada
http://excelforo.blogspot.com.es/2011/02/vba-formas-de-copiar-rangos-o-celdas.html
ahí verás deiferentes maneras de realizar el copiado.
En este caso que deseas copiar los valores de esas celdas a la Hoja2 al final de una Tabla (que además tienes más datos por debajo de ella-supongo no estarán juntos), podrías emplear el método .end(xldown) desde la parte de arriba de la tabla destino
Range("A1").End(xlDown).Offset(1, 0).Select
pero como quieres que te agregue una nueva fila, entonces primero deberás insertar una fila al final de la tabla, asi te quedaría algo de este estilo:
Range("A1").End(xlDown).Offset(1, 0).EntireRow.Insert Shift:=xlDown
Range("A1").End(xlDown).Offset(1, 0).Select
sólo te queda realizar el copiado de las celdas de la hoja1 a la hoja2
Sin más datos de situación y qué y dónde copiar no puedo concretar más.
Espero te oriente
Slds cordiales
hola
ResponderEliminarcopie lo que pusiste en el link que decias y le agregue lo que pusiste de que agregara una nueva fila asi:
Sub copiados()
Dim HojaOrigen As Worksheet, HojaDestino As Worksheet
Set HojaOrigen = Sheets(1)
Set HojaDestino = Sheets(2)
'con el If compruebo las condiciones previas a la ejecución del copiado y pegado
If HojaOrigen.Cells(2, 1).Value <> Empty And _
HojaOrigen.Cells(3, 1).Value <> Empty Then
Application.ScreenUpdating = False
'También podemos vincular valores o fórmulas relacionando diferentes celdas.
HojaDestino.Range("D2").Value = HojaOrigen.Range("D2").Value
HojaDestino.Range("D3").Formula = HojaOrigen.Range("D3").Formula
Application.ScreenUpdating = True
Application.CutCopyMode = False
Range("A1").End(xlDown).Offset(1, 0).EntireRow.Insert Shift:=xlDown
Range("A1").End(xlDown).Offset(1, 0).Select
End If
Set HojaDestino = Nothing
Set HojaOrigen = Nothing
End Sub
estoy viendo como funciona en un excel sin nada.. pero para que me copie algo tengo que poner datos en la columna a y d de la primer hoja... pero solo me copia lo que esta en la columna d.. ¿como hacer para que no me pida datos en la columna a?
luego me agrega filas pero me las agrega en la hoja 1. y yo quiero que por ejemplo si pongo datos en la columna d y e ( nombre y fecha). me los copie en la hoja dos
pongamos que en la fila 10 yo ya tengo datos en la hoja 2.. y quiero que se copien esos datos de nombre y fecha arriba de esos datos..
pondré unos 20 datos por ejemplo. y quiero que al copiarse se agreguen en una nueva fila el la hoja 2
ahorita lo que agrega es una fila en blanco en la hoja 1
como que datos te puedo dar? o te paso un archivo?
muchas gracias
Hola!
Eliminarmejor envíame el fichero a
excelforo@gmail.com
te veo demasiado perdido.
;-)
Slds cordiales
Hola Isamel, después de días de revisar y revisar me decidí mismo a pedir ayuda; sucede que tengo la siguiente macros que encontré y la modifique a mi necesidad; más sucede que también quiero que se borre algunos datos subsiguientes en la misma fila insertada pero aun no entiendo como aplicar la sentencia de seleccionar el rango de una celda activa;
ResponderEliminarmi macros es :
Sub Insertar()
ActiveSheet.Unprotect "123"
Dim fila As Integer
fila = ActiveCell.Row
If fila < 5 Then
MsgBox ("Ahi no se puede insertar")
Exit Sub
End If
Rows(fila).Insert Shift:=xlDown
If fila = 5 Then Rows(fila + 1).Copy Else Rows(fila - 1).Copy
Rows(fila).PasteSpecial Paste:=xlPasteFormulas
Rows(fila).Application.CutCopyMode = False
ActiveCell.Offset(0, 1).Select
Selection.ClearContents
'(aqui es donde quiero que suceda que a partir de 5 columnas posteriores a mi celda activa que acabo de borrar su contenido, se borre el contenido de un rango de 31 columnas , teniendo en cuenta que tengo una columna entre las 31 columnas que se oculta dependiendo de determinado criterio(esa esta en otra macros) )
Application.ScreenUpdating = True
ActiveSheet.Protect "123"
End Sub
espero q me puedas ayudar o redirigirme a que lo entienda en algun link...
gracias de antemano..
besitos desde Ecuador
Shaki
Hola Shakira,
Eliminarprueba insertando
Range(ActiveCell, ActiveCell.Offset(0, 31)).SpecialCells(xlCellTypeVisible).ClearContents
donde añadiste la explicación.
Lo que hace es trabajar(borrar el contenido de celdas visibles -no ocultas-) de la fila activa, desde la celda activa hasta 31 columnas a la derecha.
Espero te sirva
Slds cordiales
Hola Ismael:
Eliminarmuchas gracias por responder tan pronto, te cuento q no hallaba como volver a tu foro de hace dos días.. he estado muriéndome de la incertidumbre por q no sabia donde había dejado mi mensaje..., pero al fin..
te cuento que ya ingrese el codigo ahi.. y le agregue lo siguiente.. no se si estara bien, ya que la linea que me diste
me borraba todo incluyendo unas cuatro columnas que no queria q se borren ya q tengo formulas a partir de la celda activa,
espero que este bien lo que agregue.. jejeje
ActiveCell.Offset(0, 5).Select
Range(Selection, ActiveCell.Offset(0, 31)).SpecialCells(xlCellTypeVisible).ClearContents
y con eso me funciona perfectamente tal como queria...
te agradezco enormemente tu ayuda, ahora puedo seguir envejeciendo trankila.. jejeje
besitos desde ecuador
;-)
EliminarMe alegra dieras con ello con la ayuda que te pude facilitar.
Cordiales saludos!!!
Hola Ismael,
ResponderEliminarBuena Tarde ? como puedo crear un botón desde VBA Excel dando click en un commandbutton, y a su vez darle un nombre predeterminado anteriormente en una celda.
Hola!!
EliminarPuedes añadir a tu CommandButton un código similar a este:
ActiveSheet.Buttons.Add(200, 15, 125, 35).Characters.Text = "prueba"
te añadirá un botón de comando con el texto "prueba".
Slds cordiales
Buenos días Ismael agradezco tu colaboración, en realidad lo que necesito es poder ubicar un CommandButton dentro de un formulario al dar Click en otro CommandButton y asisgnar un nombre predeterminado Ej: Prueba...
EliminarAgradezco tu colaboración ...
Hola,
Eliminarcreo que lo más sencillo sería añadirlo manualmente, como cualquier otro control, y trabajar con la propiedad .Visible.
No creo posible tal y como lo planteas. Investigaré al respecto.
Slds
Hola, estuve investigando frente al tema propuesto y localicé la siguiente macro:
EliminarPrivate Sub CommandButton1_Click()
Dim Ctrl As Control
Set Ctrl = Me.Controls.Add("forms.CommandButton.1", "Command1", Visible)
Ctrl.Caption = "Prueba"
End Sub
pero en realidad no me es suficiente ya que necesito que el botón que me cree sea guardado y no temporal como lo da esta macro si es posible revísala y me das tu punto de vista...
Hola,
Eliminarsigo pensando y me reitero en mi comentrio anterior...
tal y como expones en tu ejemplo, la idea es igual a la que te comenté, trabajar con la propiedad Visible.
...
Slds
tengo una base de datos de 650 personas me piden calcular el flujo de sueldos para cada una ya cree mi hoja de calculo y lo fui probando y ya quedo el problema es que el flujo de cada persona lo pego en otra hoja pero hacerlo uno por uno no puedo como lo mecanizo ?
ResponderEliminarHola Teresita,
Eliminarque tal estás? yo también deseo te encuntres bien.
Desconozco tu estructura de informe, pero prueba seleccionando los diferentes rangos de celdas con los flujos, presionar Seleccionar celdas visibles y pegar en la otra hoja que comentas.
Un cordial saludo y gracias!
hola perdon por las molestias pero me encantaria que me ayudes pasa que en un control de stock las claves de mi productos no son consecutivos y no comienzan con 0001. en la parte CLAVEENTRADA = ActiveCell.FormulaR1C1+4 pude hacer esto ya que las claves de los productos son consecutivos y suma cuantro xq justo en cuadro que introduce la clave esta 4cuadritos antes del primer producto que comienza con el numero 0001. me podrias ayudar en como puedo modificar esta parte para productos no consecutivos y que comiencen con cualquier numero no necesariamente 0001.desde ya me espero me disculpes las molestias y espero una pronta y exitosa respuesta. muchisimas gracias
ResponderEliminarSub ENTRADA()
Range("A3").Select
CLAVEENTRADA = ActiveCell.FormulaR1C1+4
CLAVEENTRADA = "D" & CLAVEENTRADA
Range("D3").Select
ENTRADAPRODUCTO = ActiveCell.FormulaR1C1
Range(CELDAENTRADA).Select
ActiveCell.FormulaR1C1 = Val(ActiveCell.FormulaR1C1) + Val(ENTRADAPRODUCTO)
Range("D3").Select
ActiveCell.FormulaR1C1 = ""
Hola Gigu,
Eliminarlo siento pero no comprendo la distribución de datos y tampoco qué requieres exactamente...
si pudieras exponer de manera más clara, quizá te podría ayudarte...
Un cordial saludo
hola realicé todo los consejos y no puedo utilizar las macros en los libros nuevos en Excel 2007 en otras versiones no tuve ese problema. habilité todas las macros desde opciones, guardé en libro habilitado para macros, al crear la macro no me permite crearla en libro personal de macros, tengo derecho de administrador.
ResponderEliminarun cordial saludo
Hola Silvia, supongo te refieres a que seguiste las explicaciones de este post...
EliminarTe recomiendo si lo que pretendes es grabar una macro en el libro de macros personal, leas este otro post:
http://excelforo.blogspot.com.es/2012/03/libro-de-macros-personal-en-excel.html
un saludo
tenes razón perdón!...espero esta vez ser mas clara
ResponderEliminaren este link vi un vídeo que explica justo lo que quiero: control de entradas y salida.
http://www.youtube.com/watch?v=luFYHk-LCrs&feature=player_embedded
http://www.youtube.com/watch?v=luFYHk-LCrs&feature=player_embedded
el gran problema es que trabaja con claves consecutivas y la clave del primer producto comienza con 1.en cambio mis claves no son consecutivas te doy un ejemplo:
CODIGO DESCRIPCION
901001 SEGMENTO A ECO CUERO
901002 SEGMENTO A ECO CUERO
901003 SEGMENTO A ECO CUERO
901004 SEGMENTO A ECO CUERO
960001 SEGMENTO G CHENIL ROMA
991006 SEGMENTO G CHENILLE CHUNKY
en el video hace este codigo para las entradas
Sub ENTRADA()
Range("A3").Select
CLAVEENTRADA = ActiveCell.FormulaR1C1+4
CLAVEENTRADA = "D" & CLAVEENTRADA
Range("D3").Select
ENTRADAPRODUCTO = ActiveCell.FormulaR1C1
Range(CELDAENTRADA).Select
ActiveCell.FormulaR1C1 = Val(ActiveCell.FormulaR1C1) + Val(ENTRADAPRODUCTO)
Range("D3").Select
ActiveCell.FormulaR1C1 = ""
Pero mi problema es que al no tener códigos consecutivos y que empiecen con clave 1 no funciona.Entonces quiero saber si podría modificar esta parte:
CLAVEENTRADA = ActiveCell.FormulaR1C1+4
para que funcione en mi caso particular o como podría hacerlo.
Desde ya muchísimas gracias y discúlpame nuevamente por las molestias y por no haber sido clara.
Hola Gigu,
EliminarBueno, mucho mejor ahora...
La solución más simple sería que añadieras (si te es posible) una columna auxiliar a tu tabla de datos, con un autonumérico, replicando el ejemplo del video,, a continuación el resto de tus campos (CÓDIGO, DESCRIPCIÓN, etc), situándolo preferiblemente en similar localización; de este modo la relación funcionaría sobre el autonumérico y no sobre tus códigos (que es lo que hace fallar la macro).
Otra solución sería cambiar totalmente la macro y construir una búsqueda, con .Find que localice en la parte inferior directamente el CODIGO e inserte el valor de Entrada o Salida.
Si quieres contáctame en
excelforo@gmail.com
adjunándome el fichero con los datos ya distribuidos, y le echo un vistazo.
Slds
Hola, tengo un archivo en excel 2007 en el cual llevo el control de activos fijos con todos los items necesarios, mi pregunta es como hacer una macro para poder indicar que un activo se a trasladado de ubicaciòn, que quede indicada la nueva ubicaciòn y que dicha acciòn quede registrado en un historial de movimientos.
ResponderEliminarNo soy un conocedor en cuanto a programcion de macros.
Gracias
Hola,
Eliminarbueno, una idea sería asociar un código de registro a un evento doubleclick, que al hacer doble clic en el activo, te realice algunas preguntas respecto al movimiento, para que realice en otra hoja (Historial de movimientos) los datos pertinentes, terminando el proceso en la hoja de control de activos, dejando la última ubicacon válida asociada al activo.
De todas formas mejor lee primero las Normas de Uso, y en particular el punto 4.
Cordiales saludos
Gracias por la luz que me brinda, ya di un vistazo ràpidamente a lo que me señala, le agradezco el brindarme un señalamiento en cuanto a esto y por donde empezar.
EliminarEspero te sirva...
EliminarSlds cordiales
hola soy nuevo en macros y quisiera su ayuda.
ResponderEliminarEncontré este macro, y funciona bien, pero lo que quiero es adaptarlo a mi trabajo; el cual consiste:
Primero en crear solamente las hojas mostradas y no las ocultas, y
Segundo en que los libros generados conteniendo solo una hoja de la hoja principal, están en la versión 2003, y quisiera que fuesen versión 2007 o más. Gracias
Sub Crear_archivos_de_hojas()
Dim strHoja, strStartHoja, strRuta As String
Dim i As Integer
Application.ScreenUpdating = False
strStartHoja = ActiveCell.Worksheet.Name
For i = 1 To Sheets.Count
Sheets(i).Activate
strHoja = ActiveCell.Worksheet.Name
Sheets(strHoja).Copy
strRuta = "C:\Users\JAITEF\Desktop"
ActiveWorkbook.SaveAs Filename: =strRuta & "\" & strHoja, _
FileFormat:=xlNormal, Password:="", WriteResPassword:="", _
ReadOnlyRecommended:=False, CreateBackup:=False
ActiveWindow.Close Savechanges:=True
Next
Sheets(strStartHoja).Activate
Application.ScreenUpdating=True
End Sub
Atentamente Jailui
Hola Jailui,
Eliminarte adjunto solución a tus dos problemas:
Sub Crear_archivos_de_hojas()
Dim strHoja As String, strStartHoja As String, strRuta As String
Dim i As Integer
Application.ScreenUpdating = False
strStartHoja = ActiveCell.Worksheet.Name
For i = 1 To Sheets.Count
If Sheets(i).Visible = True Then
Sheets(i).Activate
strHoja = ActiveCell.Worksheet.Name
Sheets(strHoja).Copy
strRuta = "E:\Excelforo"
ActiveWorkbook.SaveAs Filename:=strRuta & "\" & strHoja & ".xlsx", _
FileFormat:=xlNormal, Password:="", WriteResPassword:="", _
ReadOnlyRecommended:=False, CreateBackup:=False
ActiveWindow.Close Savechanges:=True
End If
Next i
Sheets(strStartHoja).Activate
Application.ScreenUpdating = True
End Sub
Como ves pra que te guarde los ficheros con extensión 2007+ basta con:
Filename:=strRuta & "\" & strHoja & ".xlsx"
Y para saltar las hojas ocultas añadir un IF ... THEN
Espero te sirva
Saludos cordiales
Excel ente aporte Ismael, te lo adradezco mucho, jamas se me hubiera ocurrido colocar & ".xlsx" y lo de las hojas ocultas, perfecto.
ResponderEliminarPero hay un pequeño inconveniente, que no se porque ocurre...
Veras cuando lo quiero abrir el libro creado al haber sido copiado, no se puede abrir y me dice lo siguiente:
Excel no puede abrir el archivo 'sssss.xlsx' porque el
formato o la extensión de éste no son válidos. Compruebe que el
archivo no se ha dañado y que la extensión del mismo coincide con el
formato del archivo.
Por lo demás, muchas gracias y como te envio el archivo que estoy utilizando, pero si no fuera mucha molestia paso por paso...GRACIAS ISMAEL.
Hola,
Eliminarreemplaza la línea de .SaveAs actual por
ActiveWorkbook.SaveAs Filename:=strRuta & "\" & strHoja & ".xlsx"
es decri, quita el resto de parametros...
El resto del código se mantiene.
Con eso te debería funcionar y permitirte abrirlo...
Si no fuera el caso, envíame el fichero a
excelforo@gmail.com
Slds
hola disculpen soy novato en esto de crear macro, tengo un trabajo en la universidad sobre realizar un control de entradas, salidas y existencias a través de un botón de formulario el código esta en la fila A2 y las entradas están en la columna D y las salidas están en la columna E, la macro que pude recopilar es esta:
ResponderEliminarENTRADAS()
Rango("A2").Select
ClaveEntrada = ActiveCell.FormulaR1C1 + 4
CeldaEntrada="D"&
pero lo que pasa es que esta incompleta lo sustraje de este vídeo : https://www.youtube.com/watch?v=zncDngQ-Whc
pero esta incompleto por favor ayúdenme es esto, lo necesito lo mas antes posible..
se los agradesco mucho...
Hola Gerson,
Eliminarsiendo para un trabajo de la Universidad, donde tu misión es aprender, no parece muy honrado por mi parte dártelo solucionado.
En mi opinión deberías intentarlo por ti mismo.
En todo caso, el autor del video seguro te proporciona el código completo.
Un cordial saludo
Es que yo no estoy estudiando una carrera relacionada con la informática, estoy estudiando Administración de Empresas, y mi trabajo consiste en que realice un pequeño proyecto de entradas y salidas de nuestro productos, pero en computación no nos han enseñado un excel avanzado, solo formulas básicas, y es por eso que acudo a su ayuda, porque no tengo conocimientos del uso de excel en estas formulas, por favor ayúdenme.. se los agradecería mucho por favor.
EliminarGerson, lee, por favor, las Normas de uso del blog...
EliminarEn tu caso, además, no creo que emplear programación (macros), que parece no te han explicado ni forme parte de tu formación, aporte a tu trabajo, una realidad... me permito darte mi opinión como profesor.
Saludos
Buenas tardes.
ResponderEliminarTengo una duda. Necesito hacer unos albaranes por excel y quisiera hacer una macro que cuando pulso el boton me guarda el albaran que acabo de realizar y me genera un albaran en blanco con numero correlativo al anterior y con la fecha del dia que ha sido generado y asi sucesivamente ..
Es posible hacer eso con Excel??
Gracias de antemano
Hola, tengo un problemón con una macro, la cual se comunica con otros libro y calcula datos, esta macro me funciona bien al principio pero luego de un tiempo me lanza el error 75 en tiempo de ejecución, seguido del error Microsoft Excel dejo de funcionar (APPCRASH) y el programa se cierra, he buscado bastante por la web y ninguna solucion me sirve.
ResponderEliminarTrabajo en MS OFFICE 2007 SP 1, espero la ayuda de alguien pro favor.
Gracias
Hola Fernando,
Eliminarel error 75 indica que hay una ruta o archivo incorrecta o que no existe... lo que cuadra con lo que dices que realiza tu macro.
Lo raro es que te cierre la aplicación.
Yo empezaría controlando la existencia del fichero antes de abrirlo.. quizá así depures el fallo.
Un cordial saludo
Hola Ismael, el problema no es lanzado cuando ejecuto la acción de abrir otro libro o trabajar con el, el error se produce en los botones que tengo en la hoja inicial de la macro, los cuales son 4 botones que ejecutan una acción de mostrar un forms diferente.
EliminarComo he modificado el código pensando que el problema son los forms que muestro y luego cierro, cree variables globales para cada form del tipo object, y luego en cada acción de los botones ocupo: set nombreobjeto = New UserformNombre, funciona bien durante un tiempo y luego me lanza el error 75, voy al código para depurar el error, y sale en el userformNombre .
Realmente no se como arreglarlo, inclusive le pase el código a un amigo y lo probo en MS OFFICE 2010 y le funciona sin problemas.
Lo que sale en la depuración que no salio en el post anterior es en el userformNombre (variable de objeto o bloque no establecido). y luego de eso me aparece el error APPCRASH y Excel deja de funcionar y se cierra el programa.
EliminarSi usted tiene una solución de como afrontar este problema, de antemano muchas gracias.
No sé decirte, tendría que ver el fichero...
Eliminarpero que funcione sin problemas en unos equipos y en el tuyo falle, podría indicar algún defecto en alguna referencia o complemento de tu instalación (no es frecuente (casi imposible) que un error de programación devenga en un AppCrash.
En estas alturas tengo pensado lo mismo debe ser problemas de archivos del sistema, probé reparar Office para que me reinstalará de nuevo el VBE6.DLL pero no alcanza a reparar y manda un error.
EliminarSi quieres te mando mi trabajo comprimido a un correo a ver si encuentras otra causa.
Enviámelo a
Eliminarexcelforo@gmail.com
le echaré un vistazo en cuanto pueda.
Slds
ok, te lo enviare y cuando puedas me comentas por este medio o a mi correo,
Eliminarsaludos y buen fin de semana.
Buenas tardes, mi consulta como deberia ser mi macro asignada a un boton de accion para q me calcule el promedio de un notas en una base de datos. ejemplo
ResponderEliminarnombre / Nota1 / Nota2 / Nota3 / Nota4 / Promedio
X1 ## ## ## ##
X2 ## ## ## ##
...
X11 ## ## ## ##
Hola Hubert,
Eliminarno entiendo para que se necesita una macro para algo que se puede hacer con una función PROMEDIO más sencilla y eficiente.
Incorporar una macro solo complica el proceso para acabar empleando la misma función, pero en nuestro código...
Pero bastaría aplicar un loop, por ejemplo, tipo for next que recorra las celdas donde quieres añadir el promedio, e insertar en cada celda la fórmula de AVERAGE...
Saludos
hola buenas tardes tengo un problema con una macro que me gustaría que me ayudaran:
ResponderEliminartengo una base de datos en la que quiero poner un recordatorio con un botón para programar una alarma, tengo un código que empece:
Sub ProgramarAlarma()
Dim SetTime As String
SetDate = Hoja1.Range("A1").Text
Application.OnTime DateValue("SetDate"), "EjecutarAlarma"
MsgBox "Alarma Programada"
End Sub
Sub EjecutarAlarma()
MsgBox " hablar xxx"
End Sub
lo que requiero y si me pueden ayudar es:
que pueda cuando presione el botón tome la ffecha que se encuentra en la celda definida, por ejemplo A1, A2, etc, y que el mensaje de texto muestre el nombre de la persona que se encuentra en la misma fila, ejemplo D1, D2, etc. y si es posible que mande un correo electrónico avisando de esto, si no con sólo que me aparezca el nombre.
Gracias.
hola algien me puede ayudar con este codigo
ResponderEliminarSub ENTRADA()
Range("A2").Select
ClaveEntrada = ActiveCell.FormulaR1C1 + 4
CeldaEntrada = "D" & ClaveEntrada
Range(CeldaEntrada) = Range(CeldaEntrada) + Range("D2")
Range("D2").Select
ActiveCell.FormulaR1C1 = ""
End Sub
Sub SALIDA()
Range("A2").Select
ClaveSalida = ActiveCell.FormulaR1C1 + 4
CeldaSalida = "E" & ClaveSalida
Range(CeldaSalida) = Range(CeldaSalida) + Range("E2")
Range("E2").Select
ActiveCell.FormulaR1C1 = ""
End Sub
es para programar en excel 2010 y no me realiza lo que nececito si me puden decir que estoy haciendo mal o si me falta algo mas ya que es de una vercion mas antigua
gracias
Hola Antonio
Eliminardeberías verificar que tu celda activa (A2) cuando lanzas la macro tiene valores numéricos para que conforme correctamente tus variables:
ClaveEntrada = ActiveCell.FormulaR1C1 + 4
ClaveSalida = ActiveCell.FormulaR1C1 + 4
también puedes facilitar el 'trabajo' indicando la propiedad .Value (aunque no es obligatorio siempre facilita el buen uso)
Range(CeldaEntrada).Value = Range(CeldaEntrada).Value + Range("D2").Value
Saludos
BUENAS TARDES SOY ERNESTO, Y TENGO POCOS CONOCIMIENTOS DE MACREOS, PERO QUIERO LANZAR UN FORMULARIO Y QUE SE LANCE SI Y SOLO SI ES EL ULTIMO DIA DE CADA MES.
ResponderEliminarHola,
Eliminartendrás que asociarlo a un evento de hoja o bien de libro...
Quizá el más simple sea un evento Open de Workbook que al abrir el fichero vigile si el día corriente es el último día de mes....
El el objeto Thisworkbook del fichero añade:
Private Sub Workbook_Open()
If Day(Now) = Application.WorksheetFunction.EoMonth(Now, 0) Then
UserForm1.Show
End If
End Sub
saludos
MUCHAS GRACIAS
ResponderEliminar;-)
EliminarSlds