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?
8686 temas en este foro
-
Es la primera vez que escribo en este foro, y supongo que se notará. A base de leeros y del "corta+pega", he hecho una macro que funciona correctamente para lo siguiente: Tengo un archivo excel con varias pestañas. Me situo en una de ellas, y con la macro que diré, pulsando "Ctrl+s", me envía un mensaje de mail (outlook 2003), al destinatario que le digo, con el asunto que le digo y con un archivo excel que sólo es la pestaña en concreto en donde me he situado para pulsar "Ctrl+s". Además, después me elimina el archivo temporal creado con ese archivo enviado (esa pestaña). Va muy bien!!! (gracias por dejar copiar). PERO ahora pretendo otra macro, con eso mismo, PERO …
-
0
Reacciones de usuarios
- 1 respuesta
- 3.4k visitas
-
-
Hola a todos. Soy nuevo en esta comunidad y quiero pedirles ayuda, tengo una macro en la que quiero manejar la entrada y salida de activos, tengo resuelto el tema del ingreso de un nuevo registro a la base de datos pero aun no he podido generar una consulta que me traiga los datos asociados a un serial determinado, me explico puedo ingresar un registro nuevo pero quiero hacer una consulta para saber si ya he registrado un activo determinado para luego solo actualizar los campos de hora de ingreso y hora de salida, la llave principal de la tabla que tengo en access es el serial por lo que no podria repetir este campo y por esta razon quiero hacer la busqueda en la tabla pa…
-
0
Reacciones de usuarios
- 6 respuestas
- 3.4k visitas
-
-
Necesito poder extraer desde Excel VBA la lista global de direcciones de Outlook. No consigo información. ¿Alguien puede darme una pista? Juan Luis.
-
0
Reacciones de usuarios
- 3 respuestas
- 3.4k visitas
-
-
Hola a todos si alguien me puede ayudar con el siguiente caso: Tengo una hoja llamada "enero" que contiene como 8,000 registros la cual tengo que imprimir, pero como ejemplo adjunto solo una parte, bueno el caso es que antes de inprimir necesito que al inicio de cada hoja aparesca la misma cabecera, tal como se muestra en la hoja "ener_imp", y que tambien si es posible que aparesca las palabras van y vienen al final e inicio de cada hoja tal como se muestra en las letras de color rojo con su respectiva sumatoria asi como se encuentra. cabe mencionar que en cada hoja entraran 104 filas incluido la cabecera y las letras de color rojo. Gracias.. prueba…
-
0
Reacciones de usuarios
- 21 respuestas
- 3.4k visitas
-
-
hola que tal expertos espero me puedan dedicar un poquito de su tiempo y pasciencia para aclarar esta duda que tengo ya que lo que intento hacer es una especie de control tipo calendario con un combobox donde al darle click en un combobox me despliegue un formato parecido al del dtpicker o calendario donde el combo box tiene un formato de este tipo combobox = Format(combobox, "dd/mmmm/yyyy") he logrado hacer una lista para dia otra para mes y otra para año, pero estan en distintos comboboxes mi pregunta es el como unir esas listas para que aparescan en un solo combobox,,,no he querido utilizar los calendarios o los dtpicker pporque no forman parte estandar de e…
-
0
Reacciones de usuarios
- 4 respuestas
- 3.4k visitas
-
-
Buen dia, tengo un inventario que manejo manualmente, y queria automatizarme un poco el trabajo, por eso quería formar una base de datos tal cual se muestra en el siguiente video tutorial: Sin embargo, soy algo novato y no consigo hacer lo que dice el video, ¿alguien podría explicarme paso a paso por escrito? Ya he buscado varios software para inventarios, pero ninguno se ajusta a nuestras necesidades. Gracias de antemano.
-
0
Reacciones de usuarios
- 6 respuestas
- 3.4k visitas
-
-
Buenas Tardes Tengo dos cadenas de texto, la idea es averiguar si todos los caracteres que contiene una cadena están en la otra, no importando el orden. Saludos Cordiales Pedro Cadenas de texto.xlsx
-
0
Reacciones de usuarios
- 11 respuestas
- 3.4k visitas
- 1 seguidor
-
-
hola tengo una duda respecto a la formula R1C1 en vba. grabe mi pimera macro para vincular una hoja que contiene la base de datos con las hojas en donde estos datos se pegan en filas diferentes aunque en la misma columna. el macro recorder me dio esta formula: activecell.formulaR1C1 = "='hojadedatos!R[-5]C[9]" el problema es que no siempre sera el mismo numero para la fila, es decir esta fila va a cambiar para la siguiente hoja que sera: activecell.formulaR1C1 = "='hojadedatos!R[-4]C[9]" existe alguna manera de que los numeros de la fila sean variables para no escribir de nuevo la formula cada vez que cambie de hoja? soy nuevo usando vba y agradeceria mucho me ayudara…
-
0
Reacciones de usuarios
- 3 respuestas
- 3.4k visitas
-
-
Hola: Como veréis, este código abre un archivo cuya ruta este en la celda seleccionada. Quisiera, si es posible, abrir dicho archivo pulsando doble click sobre la celda donde esté la ruta. ¿Es posible? (No veo necesario adjuntar archivo, pero si es necesario me lo pedís) Saludos. Public Declare Function ShellExecute Lib "Shell32.dll" Alias "ShellExecuteA" _ (ByVal hwnd As Long, _ ByVal lpOperation As String, _ ByVal lpFile As String, _ ByVal lpParameters As String, _ ByVal lpDirectory As String, _ ByVal nShowCmd As Long) As Long Function Abrir(prog_o_file As String) ShellExecute 0, "Open", prog_o_file, "", "", 1 End Function Sub AbrirPr…
-
0
Reacciones de usuarios
- 3 respuestas
- 3.4k visitas
-
-
Buenas estimados: Esta vez vengo para que me ayuden con algo que no encontre información. resulta que tengo un formulario con un combobox que carga los años, desde el 2013 hasta 2020, lo que quiero es que al momento que el formulario cargue, automaticamente se seleccione el año en curso. en este caso seria 2013. Esto seria para no estar seleccionando a cada momento 2013. Espero haberme explicado bien. Les agradezco. Saludos
-
0
Reacciones de usuarios
- 1 respuesta
- 3.4k visitas
-
-
Buenas Tardes Foristas. Una vez más acá. tengo una pequeña duda y me gustaría que ustedes me ayuden . Quiero sumar dos o más TextBox y que el resultado me lo ponga en un Label en tiempo real. Necesito el código. Una amistad me dio este, y aunque no me pareció lo implementé y no suma. Private Sub LblImporte_Change () LblImporte.Caption = Val(TxtCantidad.valuie) * Val(TxtPrecio.Value) End Sub Gracias de antemano. Tengan un feliz resto del día. Pino
-
0
Reacciones de usuarios
- 5 respuestas
- 3.4k visitas
- 2 seguidores
-
-
Buenas tardes, Tengo, en una columna datos del tipo xxxxxxxx/6/3. Necesito recorrer esa columna y modificar esos datos para eliminar todo aquello que esté a la izquierda de la primera barra. Es decir, en el ejemplo quedaría ésto: 6/3. A veces la celda en cuestión no contiene una barra, solo texto o números, en ese caso no hay que tocarla. Lo que necesito es un método rápido para recorrer esa columna y no se cual sería el mejor método pues hay días en los que la hoja tiene muchas filas de datos (cerca de 20.000) y no quiero eternizarme con este proceso. Adjunto fichero en el que muestro un ejemplo más amplio. Gracias por vuestra ayuda y vuestro tiempo…
-
0
Reacciones de usuarios
- 6 respuestas
- 3.4k visitas
-
-
En las hojas de cálculo he usado bastante las funciones mín común múltiplo (M.C.M) y máx común divisor (M.C.D). Pero ahora estoy haciendo una macro y no encuentro esas funciones en V.B.A. Me cuesta creer que no venga implementada. Si es así, me gustaría conocer alguna macro sencilla para obtener esas funciones. Gracias.
-
0
Reacciones de usuarios
- 4 respuestas
- 3.4k visitas
- 1 seguidor
-
-
Hola amigos tengo un userform con 4 texbox, en el texbox1 coloco un numero entero , en el texbox2 un numero decimal y en el texbox3 un numero en fracción, algo parecido a esto: 2 x 1.5 x 1/2 y cuyo resultado lo debe dar en el texbox4 (el resultado seria en este caso 1.5) estoy usando esta macro pero me marca error. Alguien podra ayudarme de favor. Private Sub CommandButton1_Click() TextBox4.Value = CDbl(TextBox1) * CDbl(TextBox2) * CDbl(TextBox3) End Sub
-
0
Reacciones de usuarios
- 3 respuestas
- 3.4k visitas
-
-
Buenas tardes Acudo nuevamente a ustedes esperando puedan ayudarme a realizar lo siguiente He generado una tabla dinámica desde una base de datos, la cual tiene el producto, suma de costo y la otra suma de costo2 (columna que es el porcentaje total en) lo que deseo es que filtre porcentajes de la columna costo2 (los porcentajes) según los valores A : <= 80% B : >80% y <=90% C : >90% lo intentado hacer pero me sale error al momento de ejecutar prueba-filtro.xlsm
-
0
Reacciones de usuarios
- 2 respuestas
- 3.4k visitas
-
-
Tengo un archivo que al habilitar contenido me aparece el error Error de compilación: El código de este proyecto se debe actualizar para usarse en sistemas de 64 bits. Revise y actualice las instrucciones Declare y, a continuación, márquelas con el atributo PtrSafe. y me abre Visual Basic para aplicaciones. el código es Private Type RECT Left As Long Top As Long Right As Long Bottom As Long End Type Private Declare Function GetWindowRect Lib "user32" _ (ByVal hwnd As Long, _ …
-
0
Reacciones de usuarios
- 0 respuestas
- 3.4k visitas
-
-
hola, buenas noches quisiera y me apoyen a solucionar dado que quiero copiar la tabla 1 del libro "libro a cargar" y poner en el libro "prueba de carga" para poder utilizarla en el listbox del formulario, dado que con la macro que utilizo no copia en formato de tabla haciendome imposible cargarla al listbox. adjunto los archivos ; espero y me puedan brindar su ayuda. gracias Mis documentos.rar
-
0
Reacciones de usuarios
- 3 respuestas
- 3.4k visitas
-
-
tengo el siguiente código, pero no se como hacer para que los rangos de celdas no sena estáticos, es decir que ocurra en todas las celdas Private Sub Worksheet_Change(ByVal Target As Range) If Target.Address = Range("D2").Address Then Range("E2:J2").ClearContents If Target.Address = Range("E2").Address Then Range("F2:J2").ClearContents If Target.Address = Range("F2").Address Then Range("G2:J2").ClearContents If Target.Address = Range("G2").Address Then Range("H2:J2").ClearContents If Target.Address = Range("H2").Address Then Range("I2:J2").ClearContents If Target.Address = Range("I2").Address Then Range("J2").ClearContents End Sub[/CODE…
-
0
Reacciones de usuarios
- 5 respuestas
- 3.4k visitas
-
-
Buenas. En el ejemplo adjunto tengo una tabla (C14:D14) donde al selecionar un nombre, este aparece por codigo puesto en página en la celda C1. A partir de ahí se genera unos resultados que aparecen desde C2:D12. Lo que queria conseguir es que en si en esos resultados aparecen 1 o mas duplicados, apareciara un msgbox con el titulo "Atención" que alertara de que "Tienes una o varias coincidencia, ¿quieres continuar?", y diera la opción "sí o no". Gracias por vuestra ayuda. AVISOS1.xlsm
-
0
Reacciones de usuarios
- 9 respuestas
- 3.4k visitas
-
-
El problema que tengo es el siguiente: Tengo una hoja de calculo, la cual tiene datos desde la celda A1, hasta aproximadamente la celda L250, el echo es que tengo que, filtrar datos, por la columna "K",y columna"L", que tiene unos 10 valores distintos. (opcion1, opcion2, opcion3....) bueno mi solución, fue crear un userform, el cual posee varias casillas de verificación, y al chulear, dichas casillas, y pulsar un botón de búsqueda, me realiza el filtro. Y hay es donde viene mi problema, el filtro se me aplica, únicamente a una solo opción, es decir si chuleo la opcion1, y la opcion2 únicamente me aplicara el filtro a una de estas opciones, y lo que necesito, …
-
0
Reacciones de usuarios
- 9 respuestas
- 3.4k visitas
-
-
Expertos, alguien sabe como puedo inmovilizar un grafico, ya busque por todos lados y la posta que no encuentro nada, me pueden guiar o dar una idea de donde puedo buscar esto. Gracias, saludos. Gerardo!
-
0
Reacciones de usuarios
- 0 respuestas
- 3.4k visitas
-
-
Hola Tengo un problema con un archivo de excel, la extensión es xls y cuando lo intento abrir me sale este error <?xml version="1.0" encoding="UTF-8" standalone="yes"?><recoveryLog xmlns="http://schemas.openxmlformats.org/spreadsheetml/2006/main"><logFileName>error049200_02.xml</logFileName><summary>Se han detectado errores en el archivo "C:\Lina\Universidad\Semestre VII\Fundamentos de procesos\Trabajo final\Secadero.xls"</summary><additionalInfo><info>Este libro ha perdido su proyecto de VBA, los controles de ActiveX y todas las demás características relacionadas con la programabilidad.</info></additionalInfo>…
-
0
Reacciones de usuarios
- 0 respuestas
- 3.4k visitas
-
-
Hola que tal os queria exponer unos problemillas con los botones de mi formulario. 1º-Cuando se abre el formulario me sale el cursor parpadeando en edad y no me tiene que salir en ningun sitio hasta que no de al boton de NUEVO. 2º- Como vereis cuando doy al BOTON NUEVO se me desactivan algunos botones y tb cuando doy AL BOTON BUSCAR. pero eso esta bien.( Eso es para que sepais como va un poquito).Mi pregunta es: Que cuando doy al boton nuevo y meto datos en los textbox despues tengo que dar al boton agregar para agregarlo a la base de datos y la verdad que no se me agregan.Y cuando doy al BOTON AGREGAR y me desaparecen lo que he metido en los textbox si quiero mover la…
-
0
Reacciones de usuarios
- 6 respuestas
- 3.4k visitas
-
-
Saludos.. La inquietud va por ver el form en la barra de tareas al esconder o hacer invisible el excel y solo visualizar el form La otra es como puedo crear mis propios botones de maximizar y minimizar un form. Muy agradecido por sus aportes... EJEMPLO.rar
-
0
Reacciones de usuarios
- 5 respuestas
- 3.4k visitas
-
-
Hola a tod@s mi pregunta es la siguiente: Quiero poner caducidad a un libro de Excel una fecha en donde se caduque y no puedan acceder al libro. Estuve buscando una macro y pille esta: Private Sub Workbook_Open() Dim FechaCaducidad As Date FechaCaducidad = #5/14/2016# If FechaCaducidad > Date Then MsgBox "Faltan " & FechaCaducidad - Date & " días para su caducidad", vbInformation Else MsgBox "Lo sentimos, pero este libro de trabajo" & vbCrLf & "ha llegado a su fecha de vencimiento", vbCritical Application.DisplayAlerts = False ActiveWorkbook.ChangeFileAcces…
-
0
Reacciones de usuarios
- 9 respuestas
- 3.4k 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.