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?
8682 temas en este foro
-
Hola a todos! Ahora les traigo una nueva consulta, gracias a todos los que ayudaron o leyeron mi post anterior, muy agradecido, por la gran ayuda y apoyo que eh recibido en este foro. La nueva consulta es la siguiente: Tengo un libro que anteriormente tenia varios hipervinculos a otros libros, pero ahora esos libros ya no existen, entonces cada vez que abro mi libro me aparece el anuncio de Este libro contiene uno o mas vinculos que no se pueden actualizar. es algo enfadoso que aparesca cada que abro mi archivo, tengo una macro que hace unas busquedas entre libros y extrae la informacion al libro ORIGEN (pero cada vez que le doy con el boton para que me ejecute la macr…
-
0
Reacciones de usuarios
- 2 respuestas
- 2.8k visitas
-
-
Buenos días, Lo que tengo que hacer es desarrollar una macros en Excel en Visual Basic Aplication que haga la siguiente función: Yo tengo dos archivos que son parecido, es decir, tienen la misma cantidad de hojas, el mismo formato, las mismas tablas. El primero, que es el original, es modificado en algunos datos de algunas celdas en varias hojas del libro y ahí se crea el segundo archivo. Entonces, lo que quiero es que al activar la macros, en el segundo archivo se resalten en NEGRILLA las diferencias con respecto al archivo original y que además se le agregue un número uno así (˂1˃) en la columna "A" de la fila que se efectuó el cambio. Agradezco mucho la ayuda y espe…
-
0
Reacciones de usuarios
- 5 respuestas
- 2.8k visitas
-
-
Hola, Estoy teniendo un problema a la hora de distribuir un texto en varias columnas. Estoy trabajando con un fichero de datos de una encuesta, el cual de momento sólo tengo en un .txt y me gustaría pasar a .csv para trabajar con él en SPSS. No tengo manera de separar en celdas de forma automática porque no tengo un separador concreto, no hay comas, los espacios no coinciden necesariamente con nuevas celdas, etc. Decidí hacerlo manualmente ya que tengo los datos de donde empieza y acaba cada columna, pero se me hace tedioso y da lugar a errores al hacerlo de manera manual. ¿Existiría una macro capaz de separarlo en columnas de forma que yo metiera el número de de carac…
-
0
Reacciones de usuarios
- 2 respuestas
- 2.8k visitas
-
-
El problema que tengo es que me han pasado esta macro, la cual me impide GUARDAR el libro si no hay 3 celdas, concretas, con información, pero no puedo salvar el proyecto con las celdas vacías. Procedo a intentar explicarme mejor: El código que me han pasado es este: Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean) 'selecciono la hoja que debe controlar Sheets("Mañana").Select If Range("G3") = "" Or Range("B58") = "" Or Range("F58") = "" Then MsgBox "Por favor, ingresa la fecha y los Nº" Cancel = True End If End Sub [/CODE] Y me han dado la indicación de abrir el programador, editor de visual basic, doble clic en ThisWorkbook pa…
-
0
Reacciones de usuarios
- 0 respuestas
- 2.8k visitas
-
-
Hola, Tengo una consulta, resulta que he logrado crear una lista desplegable dependiente, el problema ahora, es que necesito que esa misma acción se repita las celdas siguientes, la acción fue creada en VBA para la celda K8 relacionada con AJ8,pero lo que ahora necesito es que el evento de K8 suceda también en K9, K10 y demás (hasta K47) y AJ8, AH9 y demás; probé con copiar el código de VBA:... Private Sub Worksheet_Change(ByVal Target As Range) If Target.Address <> "$K$8" Then Exit Sub ActiveSheet.Unprotect Select Case Target.Value Case Is = "Actualización guía comercial" rgo = "_730_53" Case Is = "Elaboración guia comercial" rgo = "_730_53" Case Is = "Pe…
-
0
Reacciones de usuarios
- 6 respuestas
- 2.8k visitas
-
-
hola a todos, Primero que todo espero que se encuentren muy bien, bueno yendo al grano necesito ayuda en este pequeño problema, tengo un Combobox y en este se puede escribir, puede escribirse independiente de los valores que esté tenga en la lista. Ya logre controlar si el Combobox se deja vació, ahora necesito controlar este pequeño error. les pongo el código que use para controlar si se deja vació, así me entienden mejor xD Nota: CbbMes (ComboBox) if CbbMes.Value = "" then Msg "Debe seleccionar un mes", vbCritical, "Error" CbbMes.SetFocus Exit Sub End if
-
0
Reacciones de usuarios
- 4 respuestas
- 2.8k visitas
-
-
Hola que tal amigos programadores por favor me podrían ayudar con una macro que me genere un archivo CSV delimitado por comas, la estructura del archivo CSV no deberá llevar encabezado, los datos del archivo CSV serán obtenidos de la hoja “Datos”. En la columna A: deberá tener la clave clues que se toma de la columna B de la hoja Datos En la Columna B: el Código (son 230 codigos que van del rango G1:IB1 de la hoja datos) En la Columna C: el valor almacenado a su correspondiente al código y clues En la Columna D: el número del mes que se obtendrá de la de la columna E de la hoja Datos En la Columna E: el año que se tomará de la columna F de la hoja…
-
0
Reacciones de usuarios
- 3 respuestas
- 2.8k visitas
- 2 seguidores
-
-
Hola Chicos, tengo un detalle con una automatización... El evento .click no me funciona y no sé porque, e buscado en internet y no encuentro la solución... Perdon por no poder compartirles el usuario y contraseña para que hagan pruebas, sin embargo, si tienen ideas o links para que pueda leer al respecto, les agradecería... La página se llama SAP es un aplicativo en línea para el control de la contabilidad, entre otras cosas... No funciona: Private Sub CommandButton1_Click() Cargando objIE.document.getElementById("__button0").Focus objIE.document.getElementById("__button0").Click objIE.document.getElementById("__button0").C…
-
0
Reacciones de usuarios
- 9 respuestas
- 2.8k visitas
-
-
Estimados, tengo una planilla en excel 2003, a la cual quiero ponerle una especie de semaforo bajo las siguientes condiciones (info incluida en el adjunto): Si en la columna L (que indica dias desde el inicio) el valor es mayor a 30, en la columna A se debe mostrar un circulo rojo Si en la columna L el valor esta entre 15 y 30, en la columna A se debe mostrar un circulo amarillo Si en la columna L el valor es menor a 15 o en la columna N el estado es cerrada, se debe mostrar un circulo verde... Probe de muchas formas (en 2007 lo puedo hacer muyy facil!!), pero no me es posible llegar al resultado deseado en 2003...se que debe ser una macro,pero no tengo claro como …
-
0
Reacciones de usuarios
- 4 respuestas
- 2.8k visitas
-
-
Hola espero que me ayuden… quiero realizar un control de caja semanal… en la hoja control_caja tengo el formato que siempre voy a usar…. y en esta hoja el menu en el cual mediante formulario quiero realizar el registro de ingreso y egreso…. en el boton caja quiero que aparesca el monto total q deberia tener en caja.... y en el boton imprimir y limpiar quiero que me mande imprimir el formato que tengo en la hoja control_caja y a la ves me limpie todo lo ingresado en una cemana.... ojo el control de caja realizo todos los sabado a viernes... las hojas las quiero tener ocultas totalmente[ATTACH]40312.vB[/ATTACH][ATTACH]40312.vB[/ATTACH] CONTROL DE CAJA.rar
-
0
Reacciones de usuarios
- 5 respuestas
- 2.8k visitas
-
-
buenos días, quería pedir la siguiente ayuda me gustaría saber como podría hacer que el botón que tengo en el archivo me copie la información de los textbox que están en la hoja ventanaproveedores a la hoja baseproveedores ejemplo.xls
-
0
Reacciones de usuarios
- 3 respuestas
- 2.8k visitas
-
-
Buenas tardes, perfecto la macro que me ha ayudado Riddle : Sub Imprimir_Vistaprevia_seleccion() 'preparar la hoja para la impresión With ActiveSheet.PageSetup .Orientation = xlLandscape 'xlPortrait es vertical xlLandscape es horizontal .PaperSize = xlPaperA5 'formato A5 .BlackAndWhite = False 'incluir colores o no .FitToPagesWide = 1 'reduce el tamaño de la hoja (ancho) .FitToPagesTall = 1 'reduce el tamaño de la hoja (alto) .CenterHorizontally = 1 'centrar horizontalmente .CenterVertically = 1 'centrar verticalmente End With Selection.PrintPreview End Sub una vez configurada en tamaño, doy a imprimir y perfecto. Pero necesito la alternativa de guardarlo…
-
0
Reacciones de usuarios
- 6 respuestas
- 2.8k visitas
-
-
hola a todos los miembros de Ayuda Excel, soy un principiante en lo que se refiere a programacion del excel con VBA, y como todo aquel que comienza un pequeño proyecto tiene dudas. En mi caso, la duda es: ¿Se puede hacer la sumatoria de dos o mas matrices una vez definidas con metodos iterativos? en otras plalabras, quiero que a mi matriz inicial se le sume una segunda, luego una tercera y asi hasta donde yo desee, claro esta siempre y cuando mis matrices ya esten definidas en mi hoja de calculo y lo unico que querria hacer seria que una vez reconocida la primera con un determinado codigo yo le pueda añadir, con una segunda iteracion, la segunda matriz luego de que est…
-
0
Reacciones de usuarios
- 1 respuesta
- 2.8k visitas
-
-
Buenas Tardes amigos: Hace unos días, el gran Macro Antonio me ayudo a resolver un problemita que tenia con un formulario y un combobox que hace un buscarv y lo autocompleta. Lo detallo más. Son 2 Combobox: RUC y Razón Social, cuando escribo el RUC, busca y coloca automáticamente la razón social y si escribo el comienzo de la Razón Social, busca y coloca automáticamente el RUC, hasta ahí perfecto. El problema surge cuando ingreso un RUC que no existe en la base de datos. En el Combobox RUC ingreso el nuevo número, pero cuando voy al otro combobox(Razón Social) y escribo, como que se autocompleta un RUC que si existe en la BD. y se borra el que digite manualmente. …
-
0
Reacciones de usuarios
- 0 respuestas
- 2.8k visitas
-
-
Buena tarde. Tengo un archivo de Excel que guarda datos en uno de Access, éste se encuentra colocado en un equipo conectado a la red interna. En este foro he aprendido como colocar la ruta en la programación de VBa, sin embargo, tengo dsponible una ruta FTP pública y no logro poder hacer la conección. El código es: .Provider = "microsoft.jet.oledb.4.0" .ConnectionString = "data source=" & "\\10.X.X.XXX\xml\archivo_xml.mdb"[/PHP] La consulta es: Si tengo el archivo de Access en la ruta ftp://200.XX.XXX.XXX/otros/archivo_xml.mdb ¿Cómo debe quedar el código para que me tome como válida dicha ubicación. Cabe mencionar que a la ruta ftp se accede mediante un usuario…
-
0
Reacciones de usuarios
- 3 respuestas
- 2.8k visitas
-
-
saludos cordiales como indica el titulo deseo hacer una condicional if que me compare si una variable esta dentro de un array de esta forma if tipo=array(1,2,3) then "la condicion dada" es decir si el tipo va del 1-3 que se ejecute la condicion, pero no me sale .agradezco su amable ayuda al respecto de esta duda.gracias
-
0
Reacciones de usuarios
- 6 respuestas
- 2.8k visitas
-
-
Hola amigos del foro tengo la siguiente macro Private Sub Worksheet_Change(ByVal Target As Range) If Target.Cells.Count > 1 Then Exit Sub If IsNumeric(Target) And Target.Address = "$AM$4" Then Select Case Target.Value Case 1, 2, 3, 4, 5, 6, 7 ActiveSheet.Unprotect Range("h11").Select Target.Locked = True Target.FormulaHidden = True ActiveSheet.Protect Case 9 ActiveSheet.Unprotect Range("h11").Select Target.Locked = False Target.FormulaHidden = False ActiveSheet.Protect End Select End If End Sub pero al seleccionar cualquiera de los case me mar…
-
0
Reacciones de usuarios
- 3 respuestas
- 2.8k visitas
-
-
Buenas a todos en el foro. Me ha surgido una nueva inquietud con la cual no he podido yo solo, es por eso que recurro nuevamente a ustedes. Ten go un libro en el cual Tengo una sola hoja llamada "Explosion de Avios" de la cual necesito sustraer algunos datos y pegarlos en otra hoja que es en la que genero mis Ordenes de Compra. Dentro del archivo explico que es lo que necesito, y ojala y me puedan ayudar con esta nueva inquietud. Quedo en espera de su ayuda. Gracias. Prueba.rar
-
0
Reacciones de usuarios
- 4 respuestas
- 2.8k visitas
-
-
Tengo 10 filas en las que quiero agrupar unos 1000 valores en grupos mas o menos uniformes de 100, pero no siempre va ser posible porque a veces un mismo valor se repite supongamos unas 200 veces. Yo tengo una macro para cada fila que es algo como esto los valores alto y bajo dependen si hay mas de 125 y menos de 75, pero si tengo 200 nunca va saltar "bien" y la macro se queda en el mismo punto Sub Porcentajes() Do If Range("af24").Value = "Bajo" Then Range("ao24").Copy Range("u24").PasteSpecial xlPasteValues End If If Range("af24").Value = "Alto" Then Range("an24").Copy Range("u24").PasteSpecial xlPasteValues End If Loop Until Range("af24").Value = "Bien" E…
-
0
Reacciones de usuarios
- 1 respuesta
- 2.8k visitas
-
-
Hola : Encontré esta macro en internet que funciona bien pero deseo modificarla para que no me repita los números cada 6 celdas. Alguien me puede ayudar ? Gracias Sub Saca10alAzar() x = 6 Randomize For i = 5 To 43 Range("B" + Trim(Str(i))).Value = Int((x * Rnd()) + 1) Next End Sub
-
0
Reacciones de usuarios
- 4 respuestas
- 2.8k visitas
-
-
Buenas noches. Tengo una hoja con una celda con un valor y asociado a un hiperlink a un documento pdf alojado en Sharepoint. Quisiera saber como podria hacer para abrir este enlace desde codigo VBA (abrir el documento pdf). Gracias. Manuel
-
0
Reacciones de usuarios
- 1 respuesta
- 2.8k visitas
-
-
Antes que todo un saludo para todos los miembros del foro. Me parece que "Unir dos lineas mediante un conector" es complicado o no se puede hacer, sería maravillo si alguien del foro me pueda sacar de esta duda. Intente hacerlo con el siguiente código: Sub UnirDosLineasConConector() ActiveSheet.Shapes.AddConnector(msoConnectorStraight, 60, 15, 120, 15).Select Horizontal02 = Selection.ShapeRange.Name ActiveSheet.Shapes.AddConnector(msoConnectorStraight, 180, 30, 240, 30).Select Horizontal05 = Selection.ShapeRange.Name ActiveSheet.Shapes.Range(Array(Horizontal02, Horizontal05)).Select Set Conector = ActiveSheet.Shapes.AddConnector(msoConnectorCurve, 0…
-
0
Reacciones de usuarios
- 3 respuestas
- 2.8k visitas
-
-
Hola a todos! Tengo unos codigos para asignar un formato numerico a un textbox de un tema que no logro encontrar ahora y otro de un tema que comencé (https://www.ayudaexcel.com/foro/macros-programacion-vba-10/anadir-borrar-cambiar-valor-combobox-celdas-23260/#post114925) que sirve para evitar introducir caracteres especiales. Los he combinado a lo bruto, pero quería conseguir más cosas, a ver si me podéis ayudar con esto. Adjunto el código hasta ahora: Private Sub CuadroTexto1_Change() Dim Texto, Entero, Decimall If Len(CuadroTexto1) = 0 Then Exit Sub Texto = CuadroTexto1 Texto = Replace(Texto, Application.ThousandsSeparator, "") p = InStr(Texto, Application.Deci…
-
0
Reacciones de usuarios
- 3 respuestas
- 2.8k visitas
-
-
Tengo una hoja excel donde necesito que se queden guardados de forma permanente unos valores de una matriz que depende de otra celda y no consigo hacerlo. Os envío un archivo a modo de ejemplo. Los valores de las celdas de una matriz, pongamos de A4 a A9, dependen de si en A2 hay un 1 un 2 un 3... y esos valores cada semana van variando. Necesito que cuando A2 sea 1, los valores de la matriz (A4:A9) se guarden de forma permanente en las celdas, pongamos C4:C9. Cuando A2=2, los valores de la matriz (A4:A9), que seran diferentes de los que había siendo A2=1, se guarden de forma permanente en las celdas, D4: D9y así sucesivamente Creo que así queda más o menos claro Mu…
-
0
Reacciones de usuarios
- 3 respuestas
- 2.8k visitas
-
-
Estimados, Un gusto saludarlos, tal vez el titulo ya les parecerá repetitivo, y hasta la parte del To creo que lo es, porque me he navegado todo en internet y no logro dar con algo para incluirle un Cc. Me explico. Tengo una planilla de clientes con su Correo, y el de su vendedor. El envio al cliente con un archivo adjunto ya lo tengo resuelto. (Hay mucho material sobre esto) Mi problema es enviarlo con copia al supervisor, esto porque además cada supervisor tiene diferentes clientes. Logre enviar con copia, pero solo al primer correo, al segundo y los siguientes no lo hace y solo envía Para. Adjunto el código y archivo. Intente modificando el campo Cc con los sigu…
-
0
Reacciones de usuarios
- 0 respuestas
- 2.8k 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.