Macros y programación VBA
Temas sobre la automatización de Excel utilizando macros y VBA. Errores de VBA. ¿No consigues que tus macros hagan lo que necesitas?
8690 temas en este foro
-
Buenas tardes. me acabo de dar de alta en el foro porque llevo días para solventar un problema con el que me he encontrado y ya no se que mas probar. Tengo un xls con un formulario en el que el usuario selecciona una serie de sociedades y ejecuta una macro que lo que hace es un save as de una plantilla tantas veces como sociedades ha seleccionado el usuario. Esto estaba en office 2007 y siempre ha funcionado, sin embargo al instalar office 2013 no funciona siempre, por ejemplo, si ha seleccionado 8 sociedades, ha guardado la plantilla 5 veces, esto es, sin ninguna lógica y coherencia a veces no hace el saveas. Si ejecuto el código paso a paso, aparentemente lo hace bi…
-
0
Reacciones de usuarios
- 4 respuestas
- 1.3k visitas
-
-
Hola a todos! Gracias por su tiempo, mi duda es la siguiente. Tengo archivos de imagenes *.xps en la carpeta c:\ y quiero imprimirlos todos con una macro, hay alguna manera de poder imprimir el archivo desde excel? Gracias!
-
0
Reacciones de usuarios
- 0 respuestas
- 1.3k visitas
-
-
Hola Foristas: Intente adaptar una macro que me encontré aquí en el foro, para pasar datos de excel a PPoint pero aunque el demo esta muy bueno. No encuentro como pasar mi tabla y mi gráfica, es la primera vez que me solicitan este tipo de tarea y quisiera que me ayudaran con un ejemplo en donde pueda pasar la tabla y la gráfica que pongo en el ejemplo para ver como es el codigo y poder adecuarlo y terminar mi proyecto. la macro que trae el archivo la pueden deshacer para que el ejemplo sea mas simple. de antemano, muchas gracias Crea PPT_ST.zip
-
0
Reacciones de usuarios
- 0 respuestas
- 1.3k visitas
-
-
Buenas a todos, Estoy intentando crear una macro para rellenar automaticamente unas celdas con unos valores de texto predeterminados y siguiendo unas pautas de repeticion...., y no consigo ni acercarme :-( Adjunto el fichero que estoy trabajando. La primera hoja contiene los datos. La segunda hoja es como deberia de quedar. La tercera hoja es la de los resultados. En la hoja de datos estan marcados en rojo aquellos que indican los criterios de repeticion..... no se si consigo explicarme... En el ejemplo del archivo, como hay 4 "PAGINAS POR JUEGO" existen 4 valores para TEXTO POR PAGINA. Cada valor se repetirá 10 veces y sucesivamente hasta completar el rango total…
-
0
Reacciones de usuarios
- 7 respuestas
- 1.3k visitas
-
-
He estado trabajando en una macro para extraer la información de 2 hojas de un libro y que la información quede en un nuevo libro y que se guarde en una carpeta. Tengo un libro donde está todo el de RIESGOS VERSION FINAL está la información que necesitamos, hay 2 hojas ahí con la que trabajaremos, SOD y Resumen X usuario, en la hoja SOD filtramos por empresa, (es importante filtrar por empresa ya que se guardará en una carpeta con el nombre de esa empresa el archivo generado) y ahí tomamos un cargo, copiamos las columnas A (CARGO), D (ID RISK), E (DES RIESGO), F (NIVEL), G (ID FUN), H (DES FUN), I (TRX), J (DES TRX) y esa info la pegamos desde la celda A2, luego copiamos …
-
0
Reacciones de usuarios
- 0 respuestas
- 1.3k visitas
-
-
Buenas tardes foro. Quisiera ver si alguien puede darme una mano con esto tengo 10 combobox que si o si deben estar colocados todos tienen los mismos datos ya que son de personas osea que solo cambia el nombre del combobox pero todo lo demás es igual, lo que quisiera es que estos combobox se vallan cargando a medida que se comienza a escribir en el mismo. tengo echo esto. lo que necesitaría es que de acuerdo al combobox que comiencen a escribir se cargue con los apellidos. y una vez que se seleccione otro combobox el anterior quede bloqueado a cambios. Option Explicit Private Sub carga_cb() Sheets("apellido y nombre").Select Cells(2, 5).Select Do …
-
0
Reacciones de usuarios
- 1 respuesta
- 1.3k visitas
-
-
Hola a todos tengo este treeview al que quiero poner color a los nodos raíz y aunque he mirado por ahí no consigo entender lo que me pone, me podeis ayudar. Gracias de antemano TREEVIEW.xlsm
-
0
Reacciones de usuarios
- 6 respuestas
- 1.3k visitas
-
-
Hola a todos!! Tengo un problema con la siguiente macro: Código: Sub Correo() strReportName = "C:\Users\xxx\Documents\Pedidos nacional\Pedido Norte Chico&FechaHora&. Pdf.pdf" Dim objOutlook As Object Dim objMail As Object Dim objOutlookAttach As Object Set objOutlook = CreateObject("Outlook.Application") Set objMail = objOutlook.CreateItem(olMailItem) Set objOutlookAttach = objOutlook.CreateItem(olAttachMents) With objMail .To = "xxx@xxxx.com.pe" .Subject = "Pedidos" .Body = "" .Attachments.Add (strReportName) .Send End With Set objMail = Nothing Set objOutloo…
-
Posiblemente me ligue un reto, pero busqué en problemas resueltos y ninguna de las soluciones planteadas dan un viso de ayuda a mi problema. Estoy haciendo una tabla histórica de datos de equipos de fútbol. Tengo que sumar 22 años de estadísticas. Como verán en el adjunto, la tabla tiene los partidos jugados, los ganados, empatados, perdidos, goles a favor y en contra, dif de goles y puntos de cada equipo. El tema es que los números que allí aparecen perteneces a una temporada y yo quiero ir sumando agilmente las temporadsa restantes (sin usar la calculadora porque es muy engorroso) Tomemos como ejemplo el Club Atlético Almagro ya tiene completo todos los rangos y aba…
-
0
Reacciones de usuarios
- 3 respuestas
- 1.3k visitas
-
-
Buenas tardes, He estado buscando y tratando de adaptar el código que he podido encontrar, pero no soy capaz de hacerlo y llevo bastante tiempo atascado con ello, por eso pido vuestra ayuda. Estoy creando una serie de macros que me permitan agilizar unas tareas repetitivas en mi trabajo. Una de ellas es la de exportar una sección de la hoja excel a un libro distinto, qué, si existe el libro añade la información en una hoja nueva y si no existe, creará el libro. El principal problema lo tengo en que no sé como recuperar la información desde el archivo que ejecuto la macro. No sé si existe la forma de tener un puntero apuntando al archivo desde el que ejecutas la macro p…
-
0
Reacciones de usuarios
- 7 respuestas
- 1.3k visitas
-
-
Hola, alguien no tendra alguna funcion o macro que al seleccionar una celda uno tenga la opcion de colocarle una unidad por ejemplo m2, m3, kg, o cualquier otra unidades de medida digo esto por que es engorroso hacer click derecho ir a formato de celdas, numero, personalizado y colocar # etc, lo mejor seria buscar la funcion creada tal vez por el usuario y seleccionar la celda y en otro box colocar la unidad supongo, esto sirve para realizar computos metricos de forma rapida. Gracias de antemano
-
0
Reacciones de usuarios
- 0 respuestas
- 1.3k visitas
-
-
muy buen dia antes que nada les agradezco me pudieran ayudar con esta situacion para ver que me sugieren. Se trata de lo siguiente: tengo un formulario que genera un numero concecutivo (id) automaticamente pero resulta que el numero id esta relacionado con un numero de registro que el usuario da. cuando el numero consecutivo es negativo mantiene su continuidad, pero si es positivo, se rompe la continuidad y el usuario captura algo como esto 31232/2004 2342313 que se supone es un numero que se le dio en otro año y resultó ser positivo a la hora de buscar en los registros. ¿como puedo hacer que el numero concecutivo se interrumpa cuando el usuario quiera para que se reg…
-
0
Reacciones de usuarios
- 8 respuestas
- 1.3k visitas
-
-
Necesitaria su ayuda para agregarle un loop a esta macro que haga que mientras H36 sea "Bajo" se copie el valor de K36 en C36, si el valor de H36 es "alto" se copie L36 en C36 y si el valor de H36 es "Bien" termine la macro. El resto funcion abien pero yo mismo no pude agregarle el loop, les dejo masomenos lo que tengo Sub Porcentajes() Application.Calculation = xlCalculationAutomatic If Range("h36").Value = "Bajo" Then Range("k36").Copy Range("c36").PasteSpecial xlPasteValues End If If Range("h36").Value = "Alto" Then Range("l36").Copy Range("c36").PasteSpecial xlPasteValues End If If Range("h36").Value = "Bien" Then Exit Sub End Sub
-
0
Reacciones de usuarios
- 1 respuesta
- 1.3k visitas
-
-
Buenas tardes estimados amigos encontré un formulario navegando en internet que te agrega datos al listbox segun 2 condiciones en Combobox, lo malo esta en que el 2° combobox te repite los datos de la columna haber si alguien me puede ayudar con eso, que no se repitan los datos muchas gracias Cuídense, Bendiciones... Combobox-Depende de otro Combobox y Llena ListBox.xlsm
-
0
Reacciones de usuarios
- 1 respuesta
- 1.3k visitas
-
-
Buenas chic@s. En un momento determinado de la macro solicito mediante un cuadro de diálogo la hoja en la que se van a trasladar ciertos datos. Uso esta expresión: hojaDestino = InputBox(prompt:="Introduce el nombre de la hoja", Title:="Hoja de destino de los datos", Default:=hojaActiva) También he probado: hojaDestino = Application.InputBox(prompt:="Introduce el nombre de la hoja", Title:="Hoja de destino de los datos", Default:=hojaActiva, type:=2) La variable hojaDestino la declaro como String y todo funciona perfectamente. La puedo usar para crear una hoja nueva sin problema, o para escribir en una celda concreta de esa hoja…
-
0
Reacciones de usuarios
- 2 respuestas
- 1.3k visitas
-
-
Buenas amigos, les traigo otra duda que me está volviendo loco para ver si alguien me puede ayudar. Estoy intentando copiar todas las hojas de un libro a otro libro que ya tengo con varias formulas. Estoy utilizando este código Sub Macro5() ThisWorkbook.Sheets.Copy Before:=Workbooks(“Listado_de_Fondos”).Sheets(1) End Sub pero no consigo que me copie las hojas, me tira un error. El tema es que las hojas que necesito copiar, cada día cambian de nombre y de numero, y necesito seleccionar todas para poder copiarlas de golpe al libro existente y no encuentro la forma de hacerlo. Si selecciono este código: Sub Macro5() ThisWorkbook.Sheets.Cop…
-
0
Reacciones de usuarios
- 2 respuestas
- 1.3k visitas
-
-
Que tal buen día Tengo una base de datos de números y quisiera hacer que del rango donde esta la base da datos si es menor que 15 se convierta a 0 y si es mayor deje el numero que esta en la celda, con siguiente formula se realiza "=Si(C11<15,0,C11)" , pero quiero ver la opción para que lo haga en la misma celda donde esta el numero no hacer otra tabla de numeros. Dejo el ejemplo, a como lo tengo horita Ejemplo 2.xls
-
0
Reacciones de usuarios
- 13 respuestas
- 1.3k visitas
-
-
Tengo la primera celda de la hoja 1. Quiero copiar ese dato a la primera celda de la hoja 2, pero le sumo una cierta cantidad. En la hoja 3, quiero obtener el dato obtenido de la hoja 2 anteriormente mencionado y sumarle otra cantidad; y así sucesivamente. Ejemplo: como si fuesen Puntos Kilométricos En la hoja "1" --> PK1 En la hoja "2" --> PK2= PK1 +distancia 1 (coger el valor PK1) En la hoja "3" --> PK3= PK2 +distancia 2 (coger el valor PK2) ... Son muchas hojas y necesito una macro que me lo haga automáticamente. ¿Alguna sugerencia?
-
0
Reacciones de usuarios
- 0 respuestas
- 1.3k visitas
-
-
Buenos dias. Actualmente estoy haciendo una macro de facturación, la misma consiste en ingresar datos en un formulario y que luego se pasen a unas tabla en excel. El problema es que cada ves que facture(osea que llene un user form) quiero que se le coloque un total debajo y si quiero ingresar otra factura que se agregue de bajo de esta pero con otro total. osea serian cuadros diferentes. A su ves quisiera buscar la manera de consultar la misma en caso de modificación. Sinceramente estoy muy quedado con esto, gracias de ante mano. En estos casos pueden darle a Expansion BT que es la que esta algo mas adelantada. LO ANEXE EN DROPBOX PORQUE ME DIO ERR…
-
0
Reacciones de usuarios
- 2 respuestas
- 1.3k visitas
-
-
Tengo un Formulario el cual lleno con un listbox el cual paso a celdas que son de la b8 a b32 y después la lista continua de la h8 a h57 y necesito que cualquiera que seleccione de estas ejecute la macro hasta este momento solo puedo hacerlo con una en especifico o en rango pero necesito que pueda seleccionar cualquiera de las mencionadas les paso el código como lo tengo. Gracias Private Sub ListBox1_DblClick(ByVal Cancel As MSForms.ReturnBoolean) If Selection.Address <> "$B$8" Then MsgBox "SELECCIONE CELDAS DE PRODCUTOS " & ElRango Exit Sub Else With ListIndex = "b8" ActiveCell = ListBox1 ActiveCell.Offset(1, 0).Select ListBox1.ListIndex = -1 End With…
-
0
Reacciones de usuarios
- 0 respuestas
- 1.3k visitas
-
-
Listes inscrits.pdf Buen dia Necesito su ayuda, estoy usando una macro para convertir un rango de celdas una hoja en PDF y luego mandar el mismo por mail; pero el PDF que crea tiene un mal formato, demasiado pequeno, yo necesito que los datos ocupen toda la pagina, esta es la macro y en en adjunto como obtengo el PDF: Sub SendMailbyOutlookRangoenPdf() On Error Resume Next Application.ScreenUpdating = False Application.DisplayAlerts = False Dim OA, OM As Object Dim NA As Variant Dim Path, TD, fn, mydoc As String TD = Format(Date, "ddmmyyyy") Path = ThisWorkbook.Path & "\" fn = ActiveSheet.Name mydoc = Path & fn & ".pdf" Dest…
-
0
Reacciones de usuarios
- 1 respuesta
- 1.3k visitas
-
-
buenas tardes tengo una hoja con 2 columnas en la columna A tengo unos examenes y en la columna B la cedula del paciente. "la cedula se puede repetir" lo que deseo es: copiar todos los examenes de una cedula y transponerlos en la columna C. adjunto el archivo de lo que deseo. lo que pasa es que es una base de datos con miles de registros y varias columnas, pero lo quiero con estas dos para que lo entiendan. gracias si alguien sabe y tiene skype le agradezco mi skype es ing_rodolfo_alvarez duda1.xls
-
0
Reacciones de usuarios
- 3 respuestas
- 1.3k visitas
-
-
Hola , he visto su experticie y quiero preguntarle algo , a ver si me puede ayudar Encontrè una macro que desde excel crea archivos de word a partir de registros de una base de excel, es muy parecido con combinar correspondencia. el problema que tengo es que en la base de datos al buscar y reemplazar, no lo hace en el encabezado de word. y la idea es que tambien reemplace los campos creados en el encabezado. Plantilla_ACUERDO2.zipPlantilla_ACUERDO2.zip
-
0
Reacciones de usuarios
- 0 respuestas
- 1.3k visitas
-
-
Hola, bueno mi duda es que necesito hacer una macro que al "extender los datos de un bloque" se seleccione hasta el final de la fila de mi planilla (si se entiende mejor, es cuando Seleccionamos el BLOQUE y nos aparece la cruz (+) para cuando apretamos los datos se copian en toda la columna hasta el final de la fila). La macro parece sencilla, el Problema es que la planilla no es siempre la misma, por ejemplo: la macro de "extender" la grabé para que llegue hasta la FILA 1301, pero cuando uso otra planilla ("n" numero de distintas planillas) esta por ejemplo tiene hasta la fila 1500, entoces la MACRO solo ejecuta hasta la 1301 y el restante queda VACIO, parecido ocurre c…
-
0
Reacciones de usuarios
- 9 respuestas
- 1.3k visitas
-
-
Hola, soy nuevo y ando necesitando una ayuda con el tema de los macro.. Lo que quiero hacer, es crear un macro que copie una celda ( por ejemplo la celda A1 de la hoja 1) y lo pegue en un lugar vacio de una cierta columna a partir de una determinada fila ( por ejemplo pegarla en la columna B a partir de la fila 5, de la hoja 2). Desde ya muchas gracias. Saludos Ejemplo.xls
-
0
Reacciones de usuarios
- 8 respuestas
- 1.3k visitas
-
Información básica de 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.
- Duración: Mientras se conserve este post o hilo en la comunidad, o decidas eliminar el comentario.
- 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.