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?
8680 temas en este foro
-
Estimados compañeros, a ver si me podéis hechar una mano con esta duda que tengo. Os adjunto dos ficheros, el primero (Calculo) calcula en una celda mediante sumaproducto el dato de otro fichero excel (BD). Hasta ahí no tengo problemas y la macro es fácil de crear: Sub CALCULO() ActiveCell.FormulaR1C1 = _ "=SUMPRODUCT((BD.xlsb!R2C1:R2321C1=RC[-2])*(BD.xlsb!R2C4:R2321C4=RC[-1]),BD.xlsb!R2C6:R2321C6)" ActiveCell = ActiveCell.Value End Sub El tema es que lo que necesito es que ese cálculo sea mediante el siguiente código (como una variable ya que a veces me interesará traerme el dato y otras no) Sub CALCULO() Dim …
-
0
Reacciones de usuarios
- 2 respuestas
- 818 visitas
-
-
Buenos dias a todos. Con este codigo: Option Explicit Const PATH As String = "C:\Documents and Settings\LAMOGA\Escritorio\Formulario Web\" Public Sub Form_Load() Call CountFileType("xlsm") End Sub Public Sub CountFileType(ByVal fType As String) Dim c As Long If LenB(Dir(PATH & "\*." & fType)) <> 0 Then c = c + 1 Do While (LenB(Dir()) <> 0) c = c + 1 ' found another file increment counter Loop MsgBox "Number of " & fType & " = " & c Else MsgBox "Cant find any " & fType & " files!" End If End Sub [/CODE] me cuenta los archivos tipo xlsm en una carpeta deter…
-
0
Reacciones de usuarios
- 2 respuestas
- 7k visitas
-
-
Buenos días, Lo primero que esteis bien junto con vuestras familias. La siguiente macro funcionaba en excel 2016 y ha dejado de funcionar en excel 365. Lo curioso es que si lo ejecuto paso a paso (PF8) funciona pero si se jecuta la macro de corrido no exporta las imagenes y necesito exportar mas 500. Heprobado a poner un delay hasta de 10 sg ¿Podríais ayudadme por favor? Muchísimas gracias y un cordial saludo. ---------------------------------------- Sub CopiaCeldasGrabaImagen(ruta) Dim RangoC As Range Dim Archivo As String Dim Imagen As Chart Dim Result As Boolean Archivo = ruta & ".gif" Set Rango…
-
0
Reacciones de usuarios
- 1 respuesta
- 2.1k visitas
-
-
Buenas tardes estoy ejecutando un programa en vba - Excel y aunque el programa acaba bien me da una ventana con el siguiente error "Error de Automatización - Destinatario no Valido " cuando ejecuto el botón de Carga Masiva, el usuario es DS01070X. A la espera de vuestra respuesta, gracias y saludos. Evolucion acciones Ribbon 2020 ganancia perdidas.xlsm
-
0
Reacciones de usuarios
- 0 respuestas
- 868 visitas
-
-
Okayy, uhm, ¿alguien por favor me podría ayudar con una tarea, por favor? No sé nada de macros, lo único que tengo hecho fue por ayuda de una amiga, pero ella ya no sabe como hacer lo siguiente: Mi tarea es hacer una ficha de búsqueda de "biblioteca". Y lo que tengo que hacer es que en la hoja uno (inicio) escribiendo en las casillas de a lado o el autor, color, código, título, fecha (alguno de ellos, no escribir en todas), presione botón "buscar" y me dirija a la hoja 2 (base de datos), y seleccione lo que haya pedido. Estoy demasiado perdida. infooo..xlsm
-
0
Reacciones de usuarios
- 3 respuestas
- 699 visitas
-
-
Hola, buenos dias, como estan? Les comento que soy nuevo tanto en el foro como en el uso de Macros. Mi inconveniente es este, tengo la siguiente Macro: Sub Definitiva_Posta() Definitiva_Posta Macro Range("B1:B10").Select Selection.Copy Sheets("Hoja2").Select Range("A3").Select Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=True Rows("3:3").Select Application.CutCopyMode = False Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove Sheets("Hoja1").Select Range("B2:B10").Select Selection.ClearContents End Sub Lo q…
-
0
Reacciones de usuarios
- 1 respuesta
- 1.3k visitas
-
-
Hola a todos, Estoy creando una macro en la que se modifican/agregan datos a una base que ya fue cargada con anterioridad. Les explico la idea general y lo que necesito hacer, que no estoy logrando. 1. Cargo datos de fallas de equipos (desde Hoja "Carga de Fallas"), en una hoja llamada "Base de Datos". En la columna A deja guardado un código único asignado al equipo. Esta macro, deja información de cada equipo en filas, desde la columna A hasta la columna J, y luego en las columnas N y columna O. 2. Necesito una macro que busque el código único ingresado en la celda C4 de la hoja "Reparación", en la columna A de la Hoja "Base de datos" para identificar en q…
-
0
Reacciones de usuarios
- 7 respuestas
- 1.2k visitas
-
-
Hola favor necesito de vuestra ayuda!!! mi problema es que quiero adjuntar un solo archivo (ya creados en pdf) a cada dirección de correo que esta en la columna 14 y filas 1 en adelante; y desde el segundo correo me va adjunto el archivo anterior más el correspondiente de fila 2; en el tercero, los dos anteriores, más el de la tercera fila y así sucesivamente. Favor vuestra ayuda en .AddAttachment Les dejo todo el código: Sub SendMail_Gmail() Dim Email As CDO.Message Set Email = New CDO.Message correo = "[email protected]" passwd = "123456789" mensaje = Range("A1") cuerpo = Range("B1") Email.Configuration.Fields(cdoSMTPServer) = "smtp.gmail…
-
0
Reacciones de usuarios
- 0 respuestas
- 855 visitas
-
-
Buenos días, Tengo un macro que permite enviar mail con 1 adjunto que hasta hace nada funcionaba perfectamente pero ahora me da error. Me podéis ayudar?
-
0
Reacciones de usuarios
- 12 respuestas
- 5.1k visitas
-
-
ActiveSheet.Shapes("foto").Fill.UserPicture (rutaimagen)
-
0
Reacciones de usuarios
- 0 respuestas
- 899 visitas
-
-
Buenos dias maestros del excel, Tengo un userform con varios ComboBox y ellos hagan las consultas de distintas tablas del access (datos constantemente actualizándose) con la acción del UserForm_Initialize. Con este codigo puedo consultar en el combobox desde access: Private Sub UserForm_Initialize() Dim cn As Object Dim datos As Object Dim consultaSQL As String Dim conexion As String Set cn = CreateObject("ADODB.Connection") conexion = "Provider=Microsoft.ACE.OLEDB.12.0;" & _ "Data Source=C:\Users\JULIO CESAR\Desktop\Prueba_V01.accdb" 'Aqui va la ruta de tu base de datos consultaSQ…
-
0
Reacciones de usuarios
- 2 respuestas
- 1.1k visitas
-
-
Buenas noches estimados Si son tan amables y me colaboran. Necesito crear una plantilla que me permita cargar una Base de datos de 1.000 o más registros con sus diversas características. De modo que pueda posteriormente comunicarme vía Whatsapp web haciéndoles llegar información a todos estos Clientes, cada vez que tengamos promociones en el Concesionario.
-
0
Reacciones de usuarios
- 1 respuesta
- 2.1k visitas
-
-
Buen día. Tengo este archivo en excel con un ejemplo de pasar datos en tiempo real con programación VBA, este ejemplo me lo creo una persona de aquí mismo de este foro y estuve interactuando con el código del ejemplo. Mi duda es, en el archivo viene explicado lo que busco lograr pero no sé como, tengo datos aleatorios de la columna A a la columna F, al hacer doble click en cualquier dato lo posiciona automáticamente en la columna K a partir de la fila 2 y de ahí cualquier dato lo va colocando hacía abajo. Mi duda es ¿Como puedo posicionar estos datos en cualquier fila ya sea a partir de la fila 10 y así hacia abajo, de la fila 2 hacia abajo o de cualquier fila q…
-
0
Reacciones de usuarios
- 1 respuesta
- 983 visitas
-
-
buenos días, no sé si será posible crear una macro para que a una hora determinada proteja una hoja y a otra hora la desproteja? gracias anticipadas.
-
0
Reacciones de usuarios
- 4 respuestas
- 1.1k visitas
-
-
Intento abrir un archivo CSV con una macro y quiero cambiar los paramentros de TextFileColumnDataTypes. hice una macro con la que a través de las caracteristicas de cada columna puedo incluir en una variable los parematros que necesito, pero al abrir la QueryTables.Add, no se como suplir el array. Los datos que incluye la variable son: MyVariable = "4,2,2,2,1,2,1,1" With ActiveSheet.QueryTables.Add(Connection:= _ ImpFile, Destination:=Range("$A$1")) ' .CommandType = 1 .Name = "salidas_merc" .FieldNames = True .RowNumbers = False .FillAdjacentFormulas = False .PreserveFormatting = True …
-
0
Reacciones de usuarios
- 0 respuestas
- 1.1k visitas
-
-
Buen día, soy un poco nuevo en estos temas de excel, no sé como hacer alguna función o macros para hacer cierto procedimiento en excel, la problemática es la siguiente, hay una lista de datos en una columna y lo que se requiere es que de esa lista de datos seleccionar aleatoriamente datos con la tecla Ctrl o hacer una función como un check en las celdas para seleccionar los datos que requiero y al seleccionar el dato que se pasen esos mismos datos a otra columna de esa misma hoja en excel. Desarrollé una macros que al seleccionar datos aleatoriamente con un botón le indico en que columna requiero pegarlos y los pega en forma de lista y lo que requiero es algo similar…
-
0
Reacciones de usuarios
- 11 respuestas
- 1.4k visitas
-
-
Hola, y de ante mano muchas gracias por vuestra ayuda excel ;-). Necesito una ayuda, por que esto trabajando en un libro y e incluido el siguiente instrucción, para que me busque un dato de otro libro. Set Rng = Workbooks("Seguimiento.xlsm").Sheets("Costes").Range("D4:F115") r = Application.WorksheetFunction.VLookup(antMatricula, Rng, 3, False) H.Range("J" & Fila) = Horas * r Pero únicamente me funciona si el libro ("Seguimiento.xlsm")esta abierto. Como puedo hacer para que busque el dato sin que el libro este abierto? Es decir trabajar con el libro cerrado. Muchas gracias y un saludo.
-
0
Reacciones de usuarios
- 8 respuestas
- 6.8k visitas
-
-
Estoy generando macro para actualizar automáticamente pero al tratar de ejecutar el codigo me arroja un error 1004 en tiempo de ejecución: Error definido por la aplicación o el objeto. El código que estoy utilizando es el siguiente: ActiveSheet. PivotTables("resumen"). PivotCache. Refresh Gracias por una respuesta que me ayude a solucionar este error
-
0
Reacciones de usuarios
- 0 respuestas
- 821 visitas
-
-
Hola estoy organizando un torneo de futbol y tengo claro como quiero, el problema que tengo es pasarlo a excel, para que se automatize. ME podríam ayudar, dejo el archivo de lo que quiero. Primero hay una fase regular y luego hay otra de eliminatoria y que permite poner des del primero asta el último. Gracias plantilla lliga.xlsx
-
0
Reacciones de usuarios
- 1 respuesta
- 824 visitas
-
-
Hola. Estoy haciendo un macro para copiar 4 datos de 500 ficheros pdf editable, siempre en la misma posición del pdf, y pegarlos en un excel. El problema que estoy teniendo es moverme por el pdf. Lo estoy haciendo con SendKeys mediante "+^F" buscando el texto anterior a la cadena de datos que quiero y me funciona el buscar, pero no soy capaz de seleccionar el dato que necesito para poder copiarlo. ¿Alguien puede darme alguna pista?
-
0
Reacciones de usuarios
- 1 respuesta
- 6.3k visitas
-
-
HOLA BUEN DIA, QUISIERA SABER SI ALGUIEN CONOCE ALGUNA SOLUCIÓN PARA EL PROBLEMA QUE ESTOY PRESENTANDO resulta que estoy redireccionando con algunas teclas a celdas especificas en mi hoja de trabajo, para ello uso el sgte cod vba cuando la hoja este activa Private Sub Worksheet_Activate() Worksheets("COMPRAS").PivotTables("TablaDinámica2").PivotCache.Refresh Application.OnKey "{ESC}", "IR_A" Application.OnKey "{ENTER}", "introLIQ" Application.OnKey "~", "introLIQ" Application.OnKey "{TAB}", "tabuladorLIQ" End Sub y cuando se desactiva la hoja vuelvo todas las teclas a su funcionamiento normal con este cod …
-
0
Reacciones de usuarios
- 0 respuestas
- 505 visitas
-
-
Buenos días, Tengo una tabla dinámica en la que he creado unos campos calculados para que muestre los costes agrupados por tipo de trabajo. Dichos costes, ya están calculados en base a la moneda local de cada país, por lo que inicialmente al no haber ningún filtro, muestra la suma de todos. Lo que necesitaría sería saber es como hacer que cuando filtre por un país, las celdas de los costes me muestren el símbolo de la moneda de dicho país. Por ejemplo, que si selecciono España me ponga €, USA, $, UK £, etc... Gracias y un saludo.
-
0
Reacciones de usuarios
- 14 respuestas
- 3.1k visitas
-
-
Hola a Tod@s. Necesito ver si me podéis ayudar, la idea es hacer una Macros donde me pueda Borrar los dos últimos Rangos ocupados a partir de la Fila 218 de la Hoja1, según el ejemplo, los primeros son CA218:CB424 para ya después dar clic en la Macros5. He adaptado una Macros que tiempo atrás me facilito el Amigo @Gerson Pineda pero no se ejecuta, supongo que he trasladado algo mal a esa Macros, pero no le encuentro el error. En el ejemplo que subo muy pequeño está sombreado en Amarillo ese primer Rango a Borrar en la Hoja1. Agradecido de antemano por sus respuestas. Un Saludo. Lázaro PRUEBA-1.rar
-
0
Reacciones de usuarios
- 1 respuesta
- 520 visitas
-
-
Buen día compañeros, acabo de entrar a un nuevo trabajo y me pusieron temporalmente a programar en vba ya lo he hecho antes pero no soy un programador como ta por lo que me he topado con algunos problemas. En esta imagen utilice el grabador para general mi tabla dinámica mi problema es que me pone esa referencia especifica, como yo requiero una plantilla en la que los usuarios pegaran datos y ejecutaran la macro necesito que ese rango sea variable, pero ya utilice range y cells y no me funciona. Algún otra idea
-
0
Reacciones de usuarios
- 1 respuesta
- 642 visitas
-
-
Necesito transformar una planilla de registro de servicios bajo selección automática,algun prototipo porfavor,gracias!!! Adjunto mi planilla para convertirla Precios 2020 HP.xlsx
-
0
Reacciones de usuarios
- 0 respuestas
- 766 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 [email protected]
Información adicional: Encontrarás más información en la política de privacidad.