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?
8685 temas en este foro
-
Buenos días de nuevo. Siguiendo con el formulario de la orden de trabajo, se me presenta otro tema que he buscado en el foro y he visto algunos parecidos, pero tampoco he conseguido adaptarlo a mi caso. Me explico; necesito calcular las horas transcurridas entre dos fechas y horas distintas. y que vuelque el valor en un textbox. Subo un fichero con un pequeño ejemplo de lo que necesito. Un saludo y muchas gracias de antemano. Prueba calculo horas transcurridas.rar
-
0
Reacciones de usuarios
- 6 respuestas
- 4.7k visitas
-
-
Buenas noches amigos, tengo una pregunta, ¿cuál de los dos métodos es más eficiente y porqué?, este, utilizando Target.Offset: If Not Intersect(Target, Range("K4")) Is Nothing Then Target.Offset(3, -2) = "" Target.Offset(3, -7) = "" Target.Offset(3, -7).Select End If [/CODE] o este, utilizando Range: [CODE]If Not Intersect(Target, Range("K4")) Is Nothing Then Range("I7") = "" Range("D7") = "" Range("D7").Select End If [/CODE] Saludos.
-
0
Reacciones de usuarios
- 3 respuestas
- 4.7k visitas
-
-
Que sentencia debo de realizar para preguntar si una Celda tiene Comentario. Gracias
-
0
Reacciones de usuarios
- 23 respuestas
- 4.7k visitas
- 2 seguidores
-
-
Buenas Tardes, He intentado de varias formas pero no he podido lograrlo, espero que se pueda hacer, lo que quiero es de un listbox seleccionar un grupo e ingresar la misma información simultáneamente a todos los seleccionados. De antemano agradezco a todos y adjunto el archivo junto con una imagen que ayudara a explicar mejor. Saludos! Ejemplo.xlsm
-
0
Reacciones de usuarios
- 4 respuestas
- 4.7k visitas
-
-
Hola, Para realizar un inventario, he creado un userform con varios combobox y textbox y un image para seleccionar una imagen. Cuando completo todos los campos y pulso el botón correspondiente, los datos y la imagen se añaden a las celdas de la primera fila sin datos de la hoja. Así sucesivamente. Mediante dos botones del userform puedo subir y bajar por las filas de mi inventario y ver, a su vez, los registros en los controles. El caso es que he creado un botón eliminar, para eliminar la fila que contiene un registro que quiero dar de baja, pero no me elimina la imagen!! Llevo varios días buscando información sobre imágenes y su manipulación en visual basic, pero n…
-
0
Reacciones de usuarios
- 5 respuestas
- 4.7k visitas
-
-
Buenas tardes amigos. Tengo una duda. Estoy usando el siguiente codigo para colocarle clave de activacion a un boton que esta en la hoja de excel (el codigo funciona perfecto), pero no encuentro una manera de ocutar la clave cuando se ingresa. Habra alguna forma de que no se vea lo que se digita ? 'Caja para el ingreso del Password para poder borrar ultimo registro Dim PS As String Dim PS2 As String PS2 = "clave" PS = InputBox("Por favor ingrese su Password") If PS = PS2 Then 'Fin de la caja Agradecido de antemano por vuestra ayuda
-
0
Reacciones de usuarios
- 10 respuestas
- 4.7k visitas
-
-
Hola a todos, tengo 2 PC con Windows 7 de 32 bits y Excel 2010 y MySQL 6.2. A estos 2 equipos ya le instalamos los conectores "mysql-connector-odbc-3.51.30-win32.msi" y "mysql-connector-odbc-5.1.13-win32.msi" (instalé 2 para ver cuál me funcionaba). He conectado Excel con MySQL dentro de la misma PC, es decir, con la base de MySQL que se encuentra en la misma computadora donde hice la conexión (localhost), pero no lo he logrado de una PC a la otra PC. Debo decir que tengo conocimientos muy básicos de MySQL y redes. Lo que pretendo es conectar mi Excel con la base de MySQL de la otra PC para traer una tabla, hacer modificaciones y regresarla a MySQL, todo esto mediante Exc…
-
0
Reacciones de usuarios
- 3 respuestas
- 4.7k visitas
-
-
hola a todos. bueno mi consulta es la siguiente tengo 24 libros de Excel cada uno pertenece a cada quincena de mes es decir 1ra quincena de enero, 2da quincena de enero y así sucesivamente por mes, quisiera sumar celdas en especifico de cada libro en otro libro que se llama totales. cada libro tiene el mismo formato. en el libro totales, quiero sumar la celda D18, F18, H18, J18, L18, N18 de todos los libros correspondientes a cada quincena de mes, sin que se habrán estos libros, todos los libros están en una carpeta que se llama total, la ruta es la siguiente: C:\Users\sherrera\DOCS\REPORTES DE BITACORA\2016\TOTAL otra cosa, que cada vez que agregue un libro en…
-
0
Reacciones de usuarios
- 2 respuestas
- 4.7k visitas
-
-
SOLUCIONADO Raíz cúbica de un número negativo Al operar de esta manera (-9)^(1/3) en excel se devuelve el resultado de forma correcta, pero en VBA se produce un error. Sub raiz_negativo() Debug.Print (-9) ^ (1 / 3) End Sub[/CODE] Conoceís el motivo y algún forma de evitarlo, sólo se me ocurre: [CODE] Resultado = Abs(Numero) ^ (1 / 3) If Numero < 0 Then Resultado = -1 * Resultado [/CODE] Un saludo
-
0
Reacciones de usuarios
- 10 respuestas
- 4.7k visitas
-
-
Buenas noches a todos, saludos cordiales, aquí de nuevo solicitando de sus conocimientos. Estoy tratando de armar un Sistema contable, y se va logrando gracias al Ingeniero en Sistemas JSDJSD de este gran foro, saludo maestro. Ya se logró el Inventario, Mayor y Libro Diario. Ahora arme el Balance Comprobación, solo con fórmulas en Excel, jalando las cuentas en el Libro Diario y, en el Balance de comprobación ahí figura todas las cuentas, es decir en el principio están todas las cuentas del BALANCE GENERAL, y en la fila 149 comienza las cuentas del ESTADO DE RESULTADO; A base de eso arme el Estado de Resultado y Balance General con fórmulas muy senci…
-
0
Reacciones de usuarios
- 36 respuestas
- 4.6k visitas
- 3 seguidores
-
-
Hola amigos De nuevo solicitando su apoya para resolver un tema, al filtrar ciertos datos y requiero copiar la información para procesarla solo que cuando no hay datos se produce un error 1004 como podria condicionarla con un if thense Sub copiar_filtro() ActiveSheet.Range("$A$5:$D$11").SpecialCells(xlCellTypeVisible).Copy End Sub Sub filtro() Range("A5").CurrentRegion.AutoFilter Field:=4, Criteria1:=Sheets("base").Range("c4").Value End Sub filtro vacias.xlsm de antemano gracias
-
0
Reacciones de usuarios
- 6 respuestas
- 4.6k visitas
-
-
Buenas tardes, Consulte varios temas y el que encontré mas cercano a mi situación fue el de la siguiente macro: Sub Fusionar() Application.ScreenUpdating = False Application.EnableEvents = False Sheets("CONSOLIDADO").Cells.ClearContents fila = 1 For Each Hoja In Worksheets If Hoja.Name <> "Consolidado" Then Uf = Hoja.Cells.Find("*", SearchOrder:=xlByRows, SearchDirection:=xlPrevious).Row Hoja.Range("A6:F" & Uf).Copy Sheets("CONSOLIDADO").Range("A" & fila & ":F" & fila + Uf - 1) fila = fila + Uf End If Next Application.EnableEvents = True Exit Sub End Sub Pero me tira un error 91, variable u obj…
-
0
Reacciones de usuarios
- 0 respuestas
- 4.6k visitas
-
-
Buenos días, Me estoy volviendo loco a la hora de ordenar los valores de 3 columnas con un orden determinado. Encontré una macro por la red que funciona, pero a la hora de la verdad, cuando hay más datos es muy lenta. Me explico: En un excel tengo 3 columnas con datos: Modo, Frecuencia, Origen. Estos valores los paso a una matriz, y ahora quiero ordenar esta matriz de menor a mayor modo y frecuencia. Es decir, si tengo Modo Frecuencia Origen 8 1560 Direct 7 1560 Direct 8 1560 Direct 8 1560 WEH -2 1560 WEH 3 720 Direct 4 …
-
0
Reacciones de usuarios
- 2 respuestas
- 4.6k visitas
-
-
Buenas tardes a todos, tengo este archivo que me lo pasaron por correo, lo utilizo para procesar un gran volumen de información en separar los apellidos de los nombres, es una macro , pero pasa que del país del cual soy hay muchos nombres compuestos, en relación a los apellidos, como por ejemplo; gonzales cerna de garcia juliana ó gonzales cerna vda de garcia juliana ó gonzales vda de garcia juliana ó gonzales de garcia juliana,. de esta manera es la etiologia de los apellidos en mi pais y lo que necesito es poder ver la forma de como modificar esta macro, pero no conozco de macros, por ende les pido por favor que me puedan indicar donde debo de modificar la macro …
-
0
Reacciones de usuarios
- 5 respuestas
- 4.6k visitas
-
-
Buenas tardes, Alguien me puede regalar por favor un código Vba que me pueda ayudar a copiar graficos de excell a una presentación power point, Agradezco alguien me ayude a plantear como escribir esta macro. Gracias por su ayuda.-
-
0
Reacciones de usuarios
- 2 respuestas
- 4.6k visitas
-
-
Alguien tiene un modelo de un Dashboard (tablero de control) hecho utilizando éxcel VBA? Necesito para el modelado de uno utilizando controles. Gracias :05.18-flustered:
-
0
Reacciones de usuarios
- 1 respuesta
- 4.6k visitas
-
-
Hola buenos días amigos de Ayuda Excel Un excelente colaborador de AE me ayudó con los 2 códigos grandes incluidos en la hoja COLORES y que funciona de manera correcta. Como medida de seguridad he incluido un código en la hoja COLORES para evitar el cambio de nombre de la hoja, sin embargo, al verificar su funcionamiento arroja el error 9 en tiempo de ejecución, subíndice fuera de intervalo, resaltando en amarillo la sexta línea del primer código grande: If Not Intersect(Sheets("COLORES").Cells(ActiveCell.Row, ActiveCell.Column), Range("A1:A" & uf + 1)) Is Nothing Then Hay otra forma de evitar el cambio de nombre de la hoja sin que afecte la otra …
-
0
Reacciones de usuarios
- 2 respuestas
- 4.6k visitas
- 1 seguidor
-
-
Buenas tardes, tengo una procedimiento que estoy modificando para contar los registros de una tabla access y verlos en un textbox de un formulario excel vba, pero el resultado siempre me sale -1 y en la tabla hay 4 registros. Sub Consulta_Registros() Dim conexion As ADODB.Connection Dim recordset As ADODB.recordset Dim Consulta As String Dim MiBase As String Set conexion = New ADODB.Connection MiBase = "\DBClientes.accdb" conexion.Open "Provider=Microsoft.ACE.OLEDB.12.0;" & "Data Source=" & Application.ThisWorkbook.Path & Application.PathSeparator & MiBase Consulta = "SELECT * FR…
-
0
Reacciones de usuarios
- 6 respuestas
- 4.6k visitas
- 1 seguidor
-
-
Buenos días a todos; -La consulta que hoy os planteo trata de lo siguiente: En el archivo que adjunto hay una macro (ctrl+h) que al pulsar combinación de teclas sale una ventanita emergente que me indica en una lista el número de hojas disponibles y al pulsar sobre una de la lista me lleva hacia esa hoja. Hasta aquí bien, lo me gustaría conseguir es que a parte de llevarme hacia esa hoja me mostrase un msgbox que yo configuraría y tendría que ser distinto para cada hoja. Adjunto macro. Saludos y buen día. MEmergente.xlsm
-
0
Reacciones de usuarios
- 2 respuestas
- 4.6k visitas
-
-
Saludos, deseo consultar si existe alguna macro que se dispare al momento de imprimir para que en algunas hojas de un libro se vea en la impresion un texto tipo marca de agua Gracias
-
0
Reacciones de usuarios
- 8 respuestas
- 4.6k visitas
-
-
Buenas, es mi primer post y bueno me voy adentrando a la programación en excel. tengo una duda es que yo tengo un archivo en el cual aplico este codigo para borrar una columna y una fila innecesaria ya que yo solo necesito los datos para despues subirlo aun servidor sql.. Sub prueba() ' ' 'prueba ' ' Rows("1:1").Select Selection.Delete shift:=x1UP Columns("A:A").Select Selection.Delete shift:=x1toleft Selection.NumberFormat = "yyyy-mm-dd;@" End Sub [/CODE] el problema es que en la tabla la columna "A" hace el cambio de formato pero para que se vea visible debo darle "f2+enter" y asi consecutivamente hasta que se actualize todos los campos y hablamos de …
-
0
Reacciones de usuarios
- 6 respuestas
- 4.6k visitas
-
-
Hola a todos y muchas gracias de antemano. mi problema es el siguiente: Quiero fitlrar una tabla dinamica por fechas en funcion del valor que contienen dos celdas: Adjunto un fichero como ejemplo El campo a filtrar se llama Dia2 y las celdas b1 y b2. Esto es lo que he intentado: Sub filtrarfecha() Sheets("td").Select ActiveSheet.PivotTables("Tabla dinámica1").PivotFields("Dia2").ClearAllFilters ActiveSheet.PivotTables("Tabla dinámica1").PivotCache.Refresh a = Range("b2").Value b = Range("b3").Value ActiveSheet.PivotTables("Tabla dinámica1").PivotFields("Dia2").PivotFilters.Add _ Type:=xlDateBetween, Value1:="a", Value2:="b" End Sub Buscando por google he en…
-
0
Reacciones de usuarios
- 0 respuestas
- 4.6k visitas
-
-
Hola grupo Quiero felicitar a todos son de gran ayuda. Tengo un archivo con macros y varias hojas de cálculo. Necesito que cuando abro la hoja 1 ejecute el macro 1 y cuando abro la hoja 2 ejecute el macro 2. Esto es posible? Saludos
-
0
Reacciones de usuarios
- 2 respuestas
- 4.6k visitas
-
-
Hola Amigos de AyudaExcel; No encuentro la forma de lograr que la altura de la fila 3 del adjunto sea tal que permita ver todo el contenido de la misma a menos que la cambie en forma manual. La pregunta es: ¿Se puede hacer una macro para cambiar/aumentar la altura de la fila 3, permitiendo ver todo el contenido de la misma? De antemano gracias por la ayuda que me puedan dar. Gabriel Altura de la Fila.xls
-
0
Reacciones de usuarios
- 2 respuestas
- 4.6k visitas
-
-
Hola. Necesito insertar un control MsComm32.ocx en un formulario de VBA de una aplicacion de excel. Tengo una PC con Windows 10 de 64 bits. Ya he registrado la OCX en "SysWow64" sin problema y también incorporé la referencia en la aplicacion. Cuando quiero insertar el control en un formulario de esa aplicación, aparece un aviso que dice: "No se confía en el sujeto para la acción especificada". Si alguien tiene idea de como solucionarlo se lo voy a agradecer. Saludos
-
0
Reacciones de usuarios
- 6 respuestas
- 4.6k 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.