Saltar al contenido

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?

  1. Started by Ana torres,

    Buenas tardes, podría seleccionar un usuario un rango de celdas cualquiera y mandarlo a imprimir con un botón?

    • 0

      Reacciones de usuarios

    • 3 respuestas
    • 903 visitas
  2. Started by pancho0423,

    Hola, Me estoy volviendo loco tratando de hacer una macro, que en realidad es muy sencilla. Simplemente se trata de una columna con fechas separadas por ptos. (ejemplo 01.01.2021) que la copie en otra columna separada por barras , con formato 01/01/2021. Sin embargo, en alguna fechas me cambia el orden de los meses y los días, y no sé como solucionarlo. Sucede entre otras fechas el 12.07.2021 que lo transforma en 07/12/2020 Pongo una hoja de ejemplo. Gracias de antemano !EJEMPLO.xlsx

    • 0

      Reacciones de usuarios

    • 3 respuestas
    • 1.8k visitas
    • 1 seguidor
  3. Started by Pabloamp87,

    Hola amigos necesito a una macro para un botón que al presionarlo me deshaga todos los cambios realizados en una tabla. Espero su ayuda y un buen día

    • 0

      Reacciones de usuarios

    • 3 respuestas
    • 2.4k visitas
  4. Started by comdisnor,

    Tengo en la hoja1, toda la información de los artículos de un inventario. Necesito insertar el nombre( columna C3) de un artículo en un textbox y esta búsqueda es por letras y me aparezcan todos aquellos artículos similares y estos me los vacié en un listbox con los campos (10 campos ) de los artículos vaciados en el listbox. Agradezco de antemano su ayuda. Mil gracias.

    • 0

      Reacciones de usuarios

    • 3 respuestas
    • 878 visitas
  5. Buenos dias, agradeceria vuestra ayuda.Tengo un cuadrante general mensual, donde aparecen todas las personas con sus turnos, el cual se envia en pdf por la macro anexa a todos los correos que figuran en la columna B.Lo que necesito es en lugar de enviar el cuadrante a todo el mundo,(1 correo a 10 personas) como hasta ahora, enviar el cuadrante de cada persona solo con sus turnos, sin datos de los demas.(1 correo por persona con solo sus datos)He probado con formulas, pero me fallan con algunos numeros, supongo que por el tema de buscarv.Anexo la plantilla que estoy intentando hacer.Gracias Prueba1.xlsm

    • 0

      Reacciones de usuarios

    • 3 respuestas
    • 1.1k visitas
    • 1 seguidor
  6. Started by JerryO,

    Hola espero me puedan ayudar, sucede que tengo una macro que abre otro archivo y la tengo programada para que se ejecute periódicamente cada hora, el problema es que cuando se abre por primera vez se ejecuta de maravilla pero a la siguiente hora que se volverá a ejecutar intenta abrir el archivo pero como ya esta abierto no deja ejecutarse por que sale el mensaje que el libro YA ESTA ABIERTO, SI LO VUELVE A ABRIR PERDERÁ LOS CAMBIOS QUE NO HAYA GUARDADO, DESEA VOLVER A ABRIR EL LIBRO? y no continua hasta que manualmente opriman el botón de si o no, el problema es que para que se ejecute cada hora necesito a alguien que oprima el botón cada hora ya intente cerra…

    • 0

      Reacciones de usuarios

    • 3 respuestas
    • 805 visitas
    • 1 seguidor
  7. Started by Elektroman,

    Hola, tengo un problema con un userform de 6 button_clicks. Dependiendo del button click seleccionado, la variable X cogerá un valor entero del 1 al 6. Esta variable X, està declarada en el programa principal como public X, ya que se va a utilizar en varias ocasiones. El userform se ejecuta perfectamente y coge el valor correspondiente, pero en el programa principal, el valor de la variable no es el correcto, ya que el valor de X pasa a ser 0. Resumen codigo: Public X As Integer Sub A () . . . UserForm1.Show . . . End Sub Y así es el codigo de un buttonclick Private Sub OptionButton1_Click() If OptionButton1 = True Then X = 1 End If End Sub …

    • 0

      Reacciones de usuarios

    • 3 respuestas
    • 2.1k visitas
  8. Started by aaquino,

    Muy buen día, tarde, noche. Quisiera me pudieran orientar en algo que no logro resolver. Lo que quisiera que me ayudaran es en insertar un commandbutton en una hoja de excel, pero a través de código VBA. Por lo general lo que hago antes de venir aquí es hacer una grabación de macros para ver el código, y el resultado que me ha dado es el siguiente: ActiveSheet.OLEObjects.Add(ClassType:="Forms.CommandButton.1", Link:=False _ , DisplayAsIcon:=False, Left:=668.25, Top:=9.75, Width:=72, Height:= _ 24).Select Pero esto no es lo que necesito, pues lo que quiero hacer es que al momento de crear el botón de comando, ya venga definido el n…

    • 0

      Reacciones de usuarios

    • 3 respuestas
    • 6.8k visitas
  9. Started by jues,

    Buenas tardes amigos espero estén bien Hasta hace poco utilizaba esta macro para guardar mis datos: Private Sub CommandButton5_Click() ' Guardar en Matriz If TextBox1 = "" Then MsgBox "Datos Incompletos: La Casilla Nombres y Apellidos Esta Vacia", vbExclamation: Exit Sub Dim uf As Integer With Sheet10 uf = .Range("B" & Rows.Count).End(xlUp).Row + 1 .Cells(uf, 2) = TextBox1 .Cells(uf, 3) = TextBox2 .Cells(uf, 4) = ComboBox1 .Cells(uf, 5) = TextBox3 .Cells(uf, 6) = ComboBox2 .Cells(uf, 7) = ComboBox3 .Cells(uf, 8) = ComboBox4 .Cells(uf, 9) = TextBox4 .Cells(uf, 10) = ComboBox5 .Cells(uf, 11) = Tex…

    • 0

      Reacciones de usuarios

    • 3 respuestas
    • 534 visitas
    • 2 seguidores
  10. Started by dmslop,

    Buenas amigos Foreros Acá Traigo una consulta con esta hoja de Excel llamada Práctica: La consulta es la siguiente tengo un userform llamado consulta de inventario donde tengo 2 buscadores (registro 1 y registro 2) los cuales buscan un numero en especial en hoja1 para hacer la modificación del inventario, lo que quisiera saber cómo hago para que el registro 2 haga lo mismo que hace el registro 1 obvia mente con números de búsqueda diferentes, trate de copiar todo el código de programación del registro1 pero no me funciona bien me modifica el dato incorrecta mente, agradezco toda ayuda Brindada. De momento son solo registro 1 y 2 que necesito que busque y modifiquen el…

    • 0

      Reacciones de usuarios

    • 3 respuestas
    • 691 visitas
  11. Started by Olvidado,

    Buenas tardes. Tengo un libro que los datos funcionan correctamente, lo que necesito es una macro que haga todo esto que pueden ver en el libro que adjunto pero poder eliminar las formulas y que la macro sea la que se encarge de hacer esto. Ejemplo: En la hoja CLIENTES columna I8 tengo esta macro: =SUMAR.SI(DATOS!D7:F2000;"ACANA";DATOS!F7:F2000) y pasa igual en todas las filas hacia abajo. La pregunta es ¿se puede hacer todo esto con codigo visual y así poder eliminar las formulas de la hoja? Y tambien en la Hoja datos tengo otra formula en la columna C :=CONTAR.SI($D$6:D7;CLIENTES!$D$2) ¿Tambien se podría hacer con codigo vb?. Lo que busco es evitar tener que poner…

    • 0

      Reacciones de usuarios

    • 3 respuestas
    • 803 visitas
  12. Started by xboxfile,

    Bloque hojasHola que tal? Querría hacer una consulta muy simple, y es que el bloqueo de hojas para trabajar con macros es un poco engorroso. Mi consulta es: ¿Hay alguna manera de bloquear hojas solo a nivel de usuario y que en las macros no tengan que desbloquear y bloquear cada vez que trabajen? Algo como los permisos en Windows, que hay para admin, sistem, user, etc. Supongo que será la pregunta del millón, pero sería un chollo que se pudiera hacer. Gracias y un cordial saludo

    • 0

      Reacciones de usuarios

    • 3 respuestas
    • 4.6k visitas
  13. Started by renato13,

    Buenas noche amigos me gustarian que me den una ayuda he encontrado en el internel un código para extraer imágenes a excel desde una carpeta pero quiero mejorar. La idea es; tengo una carpeta de imagenes y quiero desde excel digitar el código (código de la carpeta origen) en una celda "A2"que tiene un combobox y que la imágen aparezca en la "B2" con dimensiones predeterminadas y al digitar el siguiente código en la celda "A3" se cargue la imágen en "B3" y así sucesivamente porque quiero mandar esto por un correo. Le adjunto el archivo para que ayuden amigos. Gracias por su tiempo Demo2.0.xlsm

    • 0

      Reacciones de usuarios

    • 3 respuestas
    • 3.3k visitas
  14. Started by Rolex09,

    Buenas tardes, tengo el siguiente problema: Realice un Userform para que pase los datos a celdas de Excel, y en este userform en algunos TextBox utilice formulas manejando la funcion Change, el problema es que al colocar los datos en el userform todo lo hace bien y de hecho lo pasa a las celdas que corresponden pero detiene la macro al final, mandando error "Se ha produciod el error 13 en tiempo de ejecucion: No coinciden los tipos y me ilumina en amarillo la primer linea de la siguiente macro: Private Sub Gravamen_Change() TextBox2.Text = (Format((Ingr.Text) * (Gravamen.Text) / 100, "#,##0.00")) TextBox3.Text = (Format((Ingr.Text) + ((Ingr.Text) * (Gravamen…

    • 0

      Reacciones de usuarios

    • 3 respuestas
    • 1.1k visitas
  15. Started by campi,

    Hola , Quiero hacer una macro para solucionar el siguiente problema. Tengo un archivo con varios datos en 3 columnas name, amount y quality. Quiero poner una 4a columna con el numero de cuenta. Adjunto el archivo. la idea es agregar la columna D con una macro. muchas gracias. Account # : 6BQ10987 name amount quality 6BQ10987 lorena 1234 good 6BQ10987 patricio 9876 normal 6BQ10987 camilo 7654 bad 6BQ10987 Account # : 6BQ10787 name amount quality 6BQ10787 andrea 765 good 6BQ10787 javier 9879 normal 6BQ10787 francisco 34…

    • 0

      Reacciones de usuarios

    • 3 respuestas
    • 2.6k visitas
  16. Started by delvalle,

    Buenas compañeros, si me ayudáis con los siguiente, lo agradecería mucho. El funcionamiento del libro es el que sigue: La hoja2 es donde se guardan los registros, éstos provienen de dos hojas distintas. De una vienen los datos a los que llamo Movimientos en Cuenta que sería en este caso la hoja1 y la otra hoja la he omitido porque no interviene. Los datos que provienen de la hoja1, en el campo Id siempre debe de aparecer 0 (000000), independientemente del número de registros. Se debe de llenar el campo Id (siempre 0 como he dicho), el campo Nombre (que sería el Concepto - hoja1), el campo F. Fin (que es la Fecha - hoja1) y R. Neto (que es el Importe - hoja1), el rest…

    • 0

      Reacciones de usuarios

    • 3 respuestas
    • 833 visitas
  17. Tengo un problema, necesito que el formulario dependiendo de un criterio empiece a guardar la información desde la celda A1 o desde la celda A18. Estoy utilizando el código: Set Trasladar = ThisWorkbook.Worksheets("XXXXX").Cells(1, 1).CurrentRegion NewRow = Trasladar.Rows.Count + 1 With ThisWorkbook.Worksheets("XXXXX") .Cells(NewRow, 1).Value = Date .Cells(NewRow, 2).Value = ThisWorkbook.Sheets(1).Range("D2") .Cells(NewRow, 3).Value = ThisWorkbook.Sheets(1).Range("D4") .Cells(NewRow, 4).Value = ThisWorkbook.Sheets(1).Range("D5") .Cells(NewRow, 5).Value = ThisWorkbook.Sheets(1).Range("D6"…

    • 0

      Reacciones de usuarios

    • 3 respuestas
    • 2.8k visitas
  18. Started by Cessar,

    Ayuda especialistas, deseo Sumar varios Texbox en tiempo real, pero en los texbox1 +...+ texbox20, tengan la coma separadora por miles (ejemplo si dígito 15650.52 se observe 15,650.52 ) al igual en el texbox resultado. De preferencia que no se visualice ningún formato de moneda ($) en ninguno de los texbox. gracias espero su respuesta.

    • 0

      Reacciones de usuarios

    • 3 respuestas
    • 826 visitas
  19. Started by Novato Excel,

    Hola, tengo una tabla en la que la columna "A" hay un dato comun con diferentes datos en "B" y "C", quiero saber si existe alguna funcion, formula o una macro para poder usar de referencia el dato de la columna "A" y que traiga todos los datos posiibles de "B" y "C" concatenados, que pudiera usarse en diferentes tablas por si requiero usarla en otros archivos. agradezco el apoyo EJEMPLO VLOOKUP CON VARIOS DATOS.xlsx

    • 0

      Reacciones de usuarios

    • 3 respuestas
    • 487 visitas
    • 2 seguidores
  20. Started by lowrider,

    Mis estimados exelologos, vengo a ustedes con un nuevo problema que me he encontrado. Desde el Personal.XLSB tengo unos procesos programados, que se abran ciertas planillas y estas se ejecuten. Esto del Personal.XLSB es la modificación, pues antes dejaba cada planilla abierta y se ejecutaba a la hora cada proceso. Es un problema el abrir desde esta aplicación y esperar que se ejecute la sentencia application.OnTime dentro de cada Excel? Los códigos como siguen: ‘En Personal.XSLB Sub auto_open() Application.OnTime TimeValue("17:28:00"), "valcuo" End Sub Sub valcuo() Libro = "C:\ \ejemplito.xlsm" Workbooks.Open Libro End Sub ‘Hasta aquí no hay problema, en la hora …

    • 0

      Reacciones de usuarios

    • 3 respuestas
    • 2.4k visitas
  21. Started by CONCORDE112,

    Hola Compañeros, En un determinado formulario tengo un Txb donde debo introducir un nombre, si este nombre existe en una casilla, me devuelve los demás datos para que pueda modificarlos. Hasta aquí todo bien, pero al introducir un nuevo nombre me sale un error que desconozco. Adjunto el código. Creo que es algo relacionado con el Else, no se que debo introducir ahí para que me deje el formulario en blanco y pueda seguir insertando datos para un nuevo registro. Muchas gracias Private Sub NomA_Exit(ByVal Cancel As MSForms.ReturnBoolean) Set c = ActiveCell Cells.Find(NomA, LookAt:=xlWhole).Activate If ActiveCell.Value = NomA Then Set c = ActiveCell nivel = c.Offset(0…

    • 0

      Reacciones de usuarios

    • 3 respuestas
    • 1.7k visitas
  22. Invitado jorge de leon
    Started by Invitado jorge de leon ,

    hola que tal compañeros estaba trabajando en Excel modificando un código de un formulario y todo iba bien asta que salí de Excel y volví entra para continuar el trabajo y me encuentro con este error

    • 0

      Reacciones de usuarios

    • 3 respuestas
    • 3.5k visitas
  23. Buenas tardes foristas. Acá les traigo una duda. Estoy trabajando en un Proyecto (aún no terminado) que no es más que rellenar los datos de una planilla o Modelo de Transferencia Bancaria. Por varias razones decidí hacer esto, porque además de agilizar mi trabajo puedo obtener un registro actualizado de Transferencias y extraer varios datos que necesito, pero voy al asunto: En El FrmTransferencia tengo un TextBox (TxtImporte) que se debe colocar el importe a pagar en numero y seguido un Label (LblEnLetras) que es donde se traduce ese importe en letras, pero lo que no quiero es que cuando yo termine de insertar el importe en numero y de Enter o Tab me coloque en …

    • 0

      Reacciones de usuarios

    • 3 respuestas
    • 1.8k visitas
    • 1 seguidor
  24. Started by Ik2012,

    buen dia estoy iniciando una empresa de enmarcados, he trabajado intensamente en la elaboracion de la factura y casi la tengo terminada, pero no tengo manera de guardar cada factura de cada cliente que he atendido sino que lo que he hecho es que en el mismo libro he ido guardando varias hojas cambiando el nombre segun lo requiero, otro problemita es que no se como hacer el boton de conteo de dichas facturas para que cada vez que la abra me aparezca el numero que seguiria, muchas gracias

    • 0

      Reacciones de usuarios

    • 3 respuestas
    • 1.3k visitas
  25. Started by eduard,

    Buenas noches, Me estreno en este foro preguntado a cerca que al crear una serie de botones, con su código en VB y que funcionan a la perfección, otros códigos que antes funcionaban bien ahora me producen 2 tipos de errores. No le veo la lógica y escribo por si alguien me dá alguna idea. Los errores són: Se ha producido el error '438' en tiempo de ejecución: El objeto no admite esta propiedad o médodo. Se ha producido el error '1004' en tiempo de ejecución: Error en el método 'Range' de objeto '_Worksheet' Pero repito que estos errores aparecen en macros que antes funcionaban bien, y en cambio las nuevas macros funcionan bien y sin errores. Gracias! He intentado s…

    • 0

      Reacciones de usuarios

    • 3 respuestas
    • 1.5k 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.