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
-
Hola Expertos, necesito de su apoyo para solucionar este programa, Ej. tengo un archivo en el que obtengo las ordenes de productos que tengo fecha y cantidad y en otro archivo tengo los componentes de cada uno de estos productos entonces tengo que encontrar los 10, 15, 20 o 30 componentes de cada producto y además ir obteniendo información de cada uno, eso creo que en lo que llevo ya está resuelto, sin embargo necesito darles prioridad por fecha entonces por decir si tengo para el día de mañana el requerimiento de un componente por 15 piezas y tengo 30 el Producto que requiere 50 piezas de ese mismo componente para pasado mañana solo podrá contar con las 15 …
-
0
Reacciones de usuarios
- 0 respuestas
- 1.5k visitas
-
-
Buenas tardes o días a todos; -He creado una macro Vba Excel que por medio de un Userform me hace una consulta a una base de datos Access. Al frm le he puesto un comboBox para elegir la consulta que quiero hacer. Lo he hecho por medio de un condicional "IF" de ahí mi pregunta. ¿Está bien así o hay otro método mejor?. El código del UserForm comento lo que he hecho con '<<< >>> Adjunto macro para mayor comprensión. Gracias y saludos a todos. ConsultaBD.zip
-
0
Reacciones de usuarios
- 2 respuestas
- 1.5k visitas
- 1 seguidor
-
-
Bueanas tardes. El otro día vi un woutube https://www.youtube.com/watch?v=qLieIhUFMAk donde esplicaban como descargar el histórico de unas cotizaciones. Funciona muy bien pero lo que quiero ahora es generar una macro que barra una tabla de valores y decargar sus históricos. La solucion que propone para pocos valores es editar la consulta y cambiar el tiker anterior "BTCUSDT" por el nuevo, pero creo que eso no se puede hacer automaticamente. Si se pudiera hacer sería un forma perfecta pues es mucha mnás rápida y solo requiere el cambio de unas pocas letras. La otra solución sería relanzar la macro para cada uno de los valores. generando para cada valor el nobre, la…
-
0
Reacciones de usuarios
- 7 respuestas
- 1.5k visitas
-
-
Buenas tardes; soy nuevo por estos lares, por lo que ya me perdonareis si meto la pata en la forma de publicar o de preguntar. (Lo he puesto tb en Power Pi, pero igual con una macro se resuelve mas fácil) Una duda, creo que muy sencilla, para el que lo sabe claro; yo soy incapaz de resolverla. Tengo una tabla (Tabla) y he creado una tabla Dinámica (TablaDinamica) que quiero que me muestre los datos tal y como lo he remarcado en verde en la hoja "Tabladinamica", pero soy incapaz de hacerlo automáticamente; lo he hecho pegando parque por parque, pero claro esa no es la gracia; querría que lo hiciese automáticamente. Alguien me puede ayudar por favor. (La tabla es mucho ma…
-
0
Reacciones de usuarios
- 8 respuestas
- 1.5k visitas
- 1 seguidor
-
-
Hola. Quisiera solicitar ayuda. Tengo una macro que quiero complementar. La siguiente porción de código compara el contenido de dos celdas de dos hojas diferentes del mismo libro. valorAnterior = B.Cells(filaEncontrada, x + 1) If A.Cells(y + 1, x + 1) <> valorAnterior Then C.Cells(y + 1, x + 1).Font.Color = vbBlue C.Cells(y + 1, x + 1).Font.Bold = True End If [/CODE] Si el contenido es diferente, se marcará en la hoja C el contenido de la celda con negrilla y color azul. Además de esto quiero que la celda quede con hipervínculo que me dirija a la celda de la hoja B, algo así como: C.Cells(y + 1, x + 1) ---->B.Cells(filaEncont…
-
0
Reacciones de usuarios
- 1 respuesta
- 1.5k visitas
-
-
Buenas tardes compañeros Primero que todo un saludo y buenos deseos Tengo dos macros diferentes que tienen dos Workbook_Open y no se como hacer para que funcionen correctamente ya que individual hacen su trabajo pero juntos se genera un error que no permite mostrar las demás hojas del archivo a menos que se guarde el archivo otra ves, lo cual no debería de ser ya que tiene que ser automático al abrir el archivo con las macros activadas. Este seria uno Option Explicit Const WelcomePage = "Macros" Private Sub Workbook_BeforeClose(Cancel As Boolean) Application.EnableEvents = False With ThisWorkbook If Not .Saved Then Select Case MsgBox("De…
-
0
Reacciones de usuarios
- 0 respuestas
- 1.5k visitas
-
-
Buenos días foreros: Estoy teniendo problemas con una lista de validación dependiente. Como sabeis las listas de validación tienen un problema, si pegamos encima de las celdas con validación, esta desaparece. Como solución he utilizado VBA, al evento worksheet_change le he pedido que cree de nuevo la validación y funciona rodeando con un circulo rojo los datos pegados que no cumplen la validación. Hasta aquí todo funciona correctamente. El problema lo tengo cuando la lista de validación es dependiente y la aplico a un rango , por ejemplo b2:b100 Si creas la lista de validación dependiente en Excel ,no hay problemas; pero si la creo en VBA me da error 1004. EN VBA…
-
0
Reacciones de usuarios
- 3 respuestas
- 1.5k visitas
-
-
Hola a toda la comunidad, gusto en saludarles. Estoy tratando de generar un archivo Word desde una pestaña (3 - crear word) que contiene los datos en Excel, para ello tengo las siguientes pestañas 1.- "Dimensiones": aquí son están los maestros de cada una de las dimensiones. 2.- " 1 - Base de datos": Aquí tiene 3 partes: 2.1 grilla de los datos: esta esta toda la información de los pacientes de acuerdo a la combinaciones posibles de las dimensiones (se ingresa manual y asi esta bien)... obs: si existen un datos en la columna B, en la columna A debe ir un botón "agregar" cuya funcion es copiar los datos de esa fila a la hoja "2 - resumen"…
-
0
Reacciones de usuarios
- 1 respuesta
- 1.5k visitas
- 1 seguidor
-
-
Buenas tardes a todos: No se puede trabajar con rangos protegidos y otros no (editables) en las tablas. (O quizás desconozca la forma de hacerlo). Me han dicho en el foro que con las tablas la única forma de hacerlo es a través de VBA. Y por supuesto recibí con satisfacción la forma de hacerlo. Sin embargo se trataba de una tabla sencilla con apenas 5 columnas. Ahora tengo que hacerlo con una tabla de entre 20 y más columnas y se me complica mucho con el condicional IF y todos los operadores lógicos que hay que escribir. ¿Existe otra forma de hacerlo y que además evite la lentitud que crea tantos operadores lógicos? Muchas gracias Rubén …
-
0
Reacciones de usuarios
- 5 respuestas
- 1.5k visitas
- 1 seguidor
-
-
Buenas noches a todos: He creado una macro que me abre varios UserForm en los cuales introduzco datos de sustancias químicas tales como nombre, fabricante y algunos aspectos de seguridad: [ATTACH]40261.vB[/ATTACH] Los datos llenados en el UserForm se vacían en esta hoja de excel: [ATTACH]40262.vB[/ATTACH] Me gustaría agregar un botón (o como se diga, soy nuevo en esto) en el userform llamado: "Adjuntar Hoja de Seguridad de la Sustancia" que al darle click me abra una ventana para explorar las carpetas del ordenador y ubicar la Hoja de Seguridad Solicitada, una vez hecho esto que se cree un hipervínculo a ésa hoja en el nombre de la sustancia corre…
-
0
Reacciones de usuarios
- 0 respuestas
- 1.5k visitas
-
-
(Ante todo perdon por la ausencia de tildes pues estoy usando un teclado extrangero ) Hola a todos. Tengo el siguiente problema: Resulta que tengo que hacer una macro que, en Word, busque las imagenes de un archivo Excel para importarlas a este. Como no tenia ni idea de como hacerlo, busque un pequenho ejemplo que recorre las distintas imagenes en la hoja excel. Asi pues, tengo el siguiente codigo: Dim ExcelApplication As Excel.Application Dim ExcelWorkbook As Workbook Dim ExcelWorksheet As Excel.Worksheet Dim img As Shape Dim chrt As ChartObject Dim Nombreimg As String Dim i As Integer Set ExcelApplication = New Excel.Application Set …
-
0
Reacciones de usuarios
- 3 respuestas
- 1.5k visitas
-
-
buenas noches, soy sonia y tengo una gran duda necesito vuestra ayuda. estoy haciendo una calculadora de primas, y he hecho una macro para que vacie las celdas y a su vez devuelva el valor 0 a las celdas borradas. hasta ahi bien, pero cuando pongo un nº en dos celdas determinadas (C20 y C21) la formula que esta en la celda N4 no calcula, para que haga el calculo tengo que poner yo misma en las celdas C20 y/o C21 un 0. no se si me he explicado bien..... adjunto fichero. Gracias! calcu_precartera.xlsm
-
0
Reacciones de usuarios
- 2 respuestas
- 1.5k visitas
- 1 seguidor
-
-
Buen día, espero me puedan ayudar con lo siguiente En una hoja tengo la base datos; en la columna "A" tengo los códigos de los datos (x20,x21,x22). Inserté un botón, grabé una macro, para copiar otra hoja en la que realizó los cálculos y nombrarla con los valores de dicha columna "A" (x20,x21,x22): Private Sub CommandButton1_Click() ' Copy_Form_NH Macro Sheets("Form").Select Sheets("Form").Copy Before:=Sheets(8) Sheets("Form (2)").Select Sheets("Form (2)").Name = Range("A8") Range("A1").Select End End Sub ----- El problema aquí es que siempre hace referencia a la celda A8 Lo que deseo es que al seleccionar la celda, y enseguida el botón me copie la hoja 'For…
-
0
Reacciones de usuarios
- 9 respuestas
- 1.5k visitas
-
-
Buenas tardes; Estoy desesperado, no sé que le ha pasado a mí Excel. Al abrir una macro guardada de ayer el Excel no tarda nada en abrirse pero......si ese Excel que abro ( guardado ayer ) le guardo con otro nombre, le cierto y le vuelvo a abrir, se queda en la pantalla de iniciando durante 2 minutos (aprox.) Y luego se abre. Que puede pasar, me pasa con todas las macros que guarde. No he probado con Excel sin macro, luego probare. Sabéis cómo solucionarlo??. Muchas gracias.
-
0
Reacciones de usuarios
- 4 respuestas
- 1.5k visitas
-
-
Hola tengo un pequeño problema, estoy trabajando un libro y preciso poder insertar filas y que vengan con el formato y formula de la fila anterior. ahora bien tengo este macro Sub insertarfilayformula() ' ' insertarfilayformula Macro ' ' Acceso directo: CTRL+m ' ActiveCell.Rows("1:1").EntireRow.Select Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove ActiveCell.Offset(-1, 6).Range("A1").Select Selection.AutoFill Destination:=ActiveCell.Range("A1:A2"), Type:= _ xlFillDefault ActiveCell.Range("A1:A2").Select End Sub[/CODE] pero deseo combinarlo con este otro que encontre en el foro para que me de la opcion de a…
-
0
Reacciones de usuarios
- 4 respuestas
- 1.5k visitas
-
-
Hola ojala q alguien me pueda ayudar, necesito una macro que me guarde un archivo adjunto de Outlook, pero que sea de un dominio especifico ej. @ssss.com y que sea guarde cuando reciba el mail, osea que no lo tenga q ejecutar yo q se ejecute automaticamente cuando me llegue dicho mail de dicho dominio, ya tengo un Scrip Este es mi codigo, y la verdad es que lo encontre, ya qu no se programas , espero q puedan ayudarme.... Sub GetAttachments() Dim ns As NameSpace Dim Inbox As MAPIFolder Dim Item As Object Dim Atmt As Attachment Dim FileName As String Dim i As Integer Dim SubFolder As MAPIFolder Dim strInter As String 'Abajo pongo el nombre o parte del nombr…
-
0
Reacciones de usuarios
- 0 respuestas
- 1.5k visitas
-
-
Hola que tal, un Saludo a todos Antes que nada una disculpa por preguntar algo que a lo mejor es muy sencillo pero yo lo ignoro Estoy tratando de modificar el formato del texto que aparece en la barra de titulo de un UserForm, pero no he podido hacerlo, alguien sabe como se puede hacer?, o esto no puede ser modificado. De antemano les agradezco mucho su ayuda Saludos!!!! Arturo
-
0
Reacciones de usuarios
- 0 respuestas
- 1.5k visitas
-
-
Estoy trabajando en un programa muy especifico para hacer distribuciones de folleteria. La Base de datos para armar el rotulado no es siempre la misma así que tengo que elegir bien las celda con las que voy a trabajar. En el archivo que envío hay 3 hojas, las 2 mas importantes son "base original" De donde tomare los datos y "Base 1", donde los pondré. MI problema esta en que selecciono bien las celdas con Objseleccion enla macro. Pero no copia la entera seleccion y solo me pega los datos que se encuentran en la primer celda seleccionada. Porque puede ser esto? Dejo el archivo y de todas fromas pego la formula aqui. Muchas Gracias por la ayuda.!! S…
-
0
Reacciones de usuarios
- 4 respuestas
- 1.5k visitas
-
-
Hola, tengo la siguiente situación y quisiera ver como lo harían ustedes. un aplicativo en mi trabajo hace un reporte el cual lo exporta a Excel y directamente abre el libro, y en este reporte hay muchas columnas que no necesito y quiero borrarlas, puedo crear una macro que elimine todas esas columnas innecesarias pero mi pregunta es si esa macro puede quedar guardada en el excel aplicativo, creo que algún aplicativo de office hacia esto de guardar un modulo publico creo que es outlook, no se si hacer un addin (tampoco se como se hace) y no se si por permisos de usuario después lo voy a poder instalar. que me recomiendan hacer esto al vuelo sin guardar el libro o tener …
-
0
Reacciones de usuarios
- 2 respuestas
- 1.5k visitas
- 1 seguidor
-
-
Hola, estoy queriendo poner en un cuadro donde estan las semanas en cada columna, utilize el formato condicional la opcion de indicadores de fechas, pero este al parecer promedia y segun eso pone el indicador. yo yo busco es que una se comparen las columnas es decir en la semana 1 tiene 2.5 y la semana 2 tiene 5 la fecha debe indicar verde y si en la semana 3 tiene 4.2 la fecha debe indicar hacia abajo. osea debe comprarse con la columna anterior, espero poder contar con su apoyo. muchas gracias. Celest3 Incador por columnas.rar
-
0
Reacciones de usuarios
- 11 respuestas
- 1.5k visitas
-
-
Buenas tardes. Necesito ayuda. Necesito que en el momento que activo una celda se ejecute una macro Lo unico que he encontrado es una forma de ejecutarlo cuando das doble Click. pero estoy buscando la forma de activar cuando activas la macro cuando habilitas para escribir o le das doble click. Adjunto el ejemplo con doble click Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) If Not Application.Intersect(Target, Range("D4:D100")) Is Nothing Then Cancel = True Call ENTRADA1 End If Gracias de ante mano y un saludo.
-
0
Reacciones de usuarios
- 4 respuestas
- 1.5k visitas
-
-
Hola nuevamente, Esta vez con la siguiente consulta. Existirá un código que pueda realizar lo siguiente: Que desde el userform2 se pueda filtrar de manera vertical y horizontal la información que puedan existir en las filas y columnas de tres hojas llamadas "Caja General", "Visanet" y "Credomatic", tomando como base el código de la sucursal y un rango de fecha. Si en las tres hojas encuentra información que contenga el mismo código y el mismo rango de fecha que muestre la información como si fuera vista previa o bien como si se tratara de un reporte, puede ser que solamente se encuentra información en dos hojas, eso dependerá del movimiento que tengan las sucursales. …
-
0
Reacciones de usuarios
- 0 respuestas
- 1.5k visitas
-
-
Me gustaria que me explicaran paso a paso este codigo, gracias de antemano. Dim ligne, débutOrg, f, forga, inth, intv, Tbl(), n, d Sub DessineAscendants() Set forga = Sheets("BD") Set f = Sheets("bd") Set d = CreateObject("Scripting.Dictionary") Tbl = f.Range("A2:I" & f.[A65000].End(xlUp).Row).Value n = UBound(Tbl) Set débutOrg = forga.Range("I23") ligne = 0 inth = 60 intv = 40 liginit = ActiveCell.Row - 1 lig = ActiveCell.Row - 1 couleur = IIf(Tbl(lig, 4) = "M", f.Cells(2, 2).Interior.Color, f.Cells(2, 3).Interior.Color) créeShapeP Tbl(lig, 1), couleur, 0, IIf(Tbl(lig, 4) = "M", "AM", "AF"), " " End Sub
-
0
Reacciones de usuarios
- 2 respuestas
- 1.5k visitas
-
-
Hola, Veréis tengo un problema, necesito hacer un macro que abra un archivo de texto, éste archivo de texto contiene los datos que me interesan detrás de un separador "//" y quiero que esos valores los copie en una hoja de excel en un determinado orden. Después necesito modificar en esa hoja de excel esos valores y que se vuelvan a grabar en el archivo de texto con la estructura original. Adjunto los archivos, por si es de ayuda. De verdad agradecería cualquier ayuda por mínima que sea. Gracias y un saludo svmfile.zip excelsheet.zip
-
0
Reacciones de usuarios
- 4 respuestas
- 1.5k visitas
-
-
Hola compañeros, Tengo un módulo de login que me mantiene ocultas las hojas del libro, siempre y cuando el usuario no se haya identificado previamente. El caso es que cuando abro el libro en otro equipo (evento Workbook_Open > Abrir FormularioDeAcceso), me aparece el típico mensaje de "Habilitar las macros". El problema es que YO NO QUIERO QUE EL USUARIO PUEDA VISUALIZAR EL CONTENIDO DE ESAS HOJAS SI NO ESTÁ LOGUEADO. Y claro... Simplemente, con cerrar el mensaje de habilitar las macros y un click derecho "Mostrar hojas" es suficiente para visualizar el contenido de las hojas, sin necesidad de tener que loguearse. Por eso mi pregunta es: ¿Sabéi…
-
0
Reacciones de usuarios
- 4 respuestas
- 1.5k visitas
- 1 seguidor
-
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.