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 SebastianHH,

    Hola a todxs Comunidad Ayuda Excel Quisiera hacer un calendario para llevar la cuenta diaria de gastos en movilidad,por ejemplo por dia no puedo exceder un monto que seria 30,los gastos se pueden hacer de lunes a viernes ,un ejemplo seria si un lunes se gasta 42 soles, no podria registrarse 42 en el excel, se registraria 30 el lunes y la diferencia el martes,pero si el martes también se hace un gasto supongamos de 40,pondría 18 el martes y correría los días necesarios para q calze y cumpla la condición. No se si me dejo entender ademas bloquear fechas de vacaciones y domingos o alguna otra que necesite donde no se pueda hacer esos gastos ya que lo supervisaría algun…

    • 0

      Reacciones de usuarios

    • 0 respuestas
    • 763 visitas
  2. Buenos días, Quiero copiar datos de ciertas columnas de una tabla del LibroOrigen a un nuevo libro ( LibroDestino) He conseguido crear una macro que funciona cuando están todas las celdas completadas (hoja 2 del archivo adjunto) pero si hay vacío da error (hoja1) Para seleccionar el rango de celdas origen he seleccionado esto: 'Seleccionar rango de celdas origen rngOrigen.Select Set a = Range("K1", Range("K1").End(xlDown)) Set b = Range("L1", Range("L1").End(xlDown)) Set c = Range("O1", Range("O1").End(xlDown)) Set d = Range("P1", Range("P1").End(xlDown)) Set e = Range("Q1", Range("Q1").End(xlDown)) Set f = Range("R1", Range("R1").End…

    • 0

      Reacciones de usuarios

    • 3 respuestas
    • 1.9k visitas
  3. Started by Luisfer2020,

    Buenas noches mi pregunta es la siguiente, para quien desee ayudarme con este codigo...Muchas gracias de antemano... Tengo un formulario y dentro de el un listboxt, el cual carga al inicializarce las 13 columnas de la hoja excel, pero cuando hago una busqueda por nombre solo me carga 10 columnas, yo se que solo llega hasta 10, pero me gustaria saber como con rowsource puedo cargar con la busqueda las mismas 13 columnas...Muchas gracias. Private Sub nombre_Change() 'Primero exige que sea texto If IsNumeric(nombre) And _ nombre.Text <> "" Then Beep MsgBox "DEBES INTRODUCIR SOLO TEXTO" nombre.Text = "" nombre.SetFocus End If 'solo …

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 3.6k visitas
  4. Started by Marcos14,

    No se si es el sitio correcto, me gustaria saber como conectar excel con access, lo que quisiera es saber que tengo que hacer para una vez creado un formulario de entrada de datos en excel, a parte de que se guarde en excel, automáticamente se guarde también en access Espero haber sabido explicarme. No subo archivo porque aun no lo tengo creado, ya que mi intención seria crearlo después de vuestra ayuda. Gracias de antemano

    • 0

      Reacciones de usuarios

    • 5 respuestas
    • 919 visitas
  5. Started by Mariela Lopez,

    Hola, tengo una planilla para cargar datos sobre ingresos y egresos, estos datos se guardan con una macro y se cargan en otra hoja. Las opciones al completar en la planilla son "Ingresos en efectivo", "ingresos por transferencia" y "egresos", el problema es que no quiero que la macro funcione cuando la opción que se elija sea "ingresos por transferencia" ya que la hoja donde se cargan los datos corresponde a una caja real en efectivo (la opción de "ingresos por transferencia" esta por otro motivo). La macro utilizada es así: If movimiento = "Ingresos en efectivo" Then Sheets("caja H").Cells.Range("d5") = importe Else Sheets("caja H").Cells.Range("e5") = im…

    • 0

      Reacciones de usuarios

    • 10 respuestas
    • 2.1k visitas
  6. Hola Buenas tardes, necesito ayuda debo encontrar el máximo y el mínimo de un rango de datos dependiendo del color. por ejemplo si el texto es de color rojo debo hallar el máximo y si el texto es azul debo hallar el mínimo dentro de un mismo rango

    • 0

      Reacciones de usuarios

    • 4 respuestas
    • 859 visitas
  7. AL ABRIR UN ARCHIVO XLSM ESTE ME MANDA UN MENSAJE: "HEMOS ENCONTRADO UN PROBLEMA CON EL CONTENIDO DE ' NOMBRE DEL ARCHIVO': ¿DESEA QUE INTENTEMOS RECUPERAR EL MAXIMO DE CONTENIDO POSIBLE?, SI CONFIA EN EL ORIGEN DE ESTE LIBRO HAGA CLICK EN SI". HAGO CLICK EN SI, Y SALE UN CUADRO QUE DICE: "PARTE QUITADA: PARTE /XL/VBAPROJECT.BIN (VISUAL BASIC PARA APLICACIONES (VBA))" ¿ALGUIIEN SABE LA SOLUCION A ESTE PROBLEMA?, PUES EL ARCHIVO LO ABRO DESDE OTRO COMPUTADOR Y FUNCIONA PERFECTAMENTE. SIENTO QUE EL PROBLEMA ES DE EXCEL O DE ALGUNA CONFIGURACION. YA DESINSTALE Y VOLVI A INSTALAR.

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 3k visitas
  8. Started by lphant,

    Buenas tardes; Se puede crear una consulta por SQL desde un Excel a un Excel teniendo el encabezado en la fila 2??. un saludo, Libro1.xlsx

    • 0

      Reacciones de usuarios

    • 5 respuestas
    • 1.3k visitas
  9. Started by OCTVRM,

    Amigos, Buenos días, Tengo la siguiente situación, necesito comparar dos archivos excel, en los cuales en cada archivo hay más de una hoja, esto es para encontrar diferencias entre los archivos, como un comparador de versiones. Hasta el momento tengo lo siguiente listo: Carga de ambos archivos y comparación de nombres y cantidad de hojas. Estoy buscando como recorrer ambos libros, pero la dificultad es que no son los libros activos, ya que uso un libro principal para realizar la comparación. Habia pensado en utilizar un ciclo for que vaya seleccionando las hojas desde la primera en adelante y las comience a comparar, pero no encuentro algún código que …

    • 0

      Reacciones de usuarios

    • 12 respuestas
    • 2.8k visitas
  10. Started by ArmandoR,

    Estimados compañeros, a ver si me podéis hechar una mano con esta duda que tengo. Os adjunto dos ficheros, el primero (Calculo) calcula en una celda mediante sumaproducto el dato de otro fichero excel (BD). Hasta ahí no tengo problemas y la macro es fácil de crear: Sub CALCULO() ActiveCell.FormulaR1C1 = _ "=SUMPRODUCT((BD.xlsb!R2C1:R2321C1=RC[-2])*(BD.xlsb!R2C4:R2321C4=RC[-1]),BD.xlsb!R2C6:R2321C6)" ActiveCell = ActiveCell.Value End Sub El tema es que lo que necesito es que ese cálculo sea mediante el siguiente código (como una variable ya que a veces me interesará traerme el dato y otras no) Sub CALCULO() Dim …

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 834 visitas
  11. Started by jabrajam,

    Buenos dias a todas, Lo primero agradecer a la plataforma el acceso gratuito en estos momentos. Espero y deseo que todos esteis bien Paso a detallar mi problema, me baje un archivo de la comunidad del gran maestro Antoni,he intentado adaptarlo a mis necesidades y he resuelto algunas cosas y otras no. Detallo los fallos que no soy capaz de sacar: 1º En columna C no me salen los datos bien 2º En la columna D Tengo que poner los nombres con numero porque sino los graba todos en la misma fila 3º En el cronograma si empieza la actividad en el mes siguiente al elegido aparece en el mes selecionado Por ultimo cada vez qu…

    • 0

      Reacciones de usuarios

    • 7 respuestas
    • 1.3k visitas
  12. Started by mrodriguezlucendo,

    Hola, Necesito generar una macro para generar turnos de empleados en base a los siguientes criterios: - Horario 07:00-15:00 · Establecer 30 minutos de Descanso: tienen que asignarse habiendo transcurrido 2 horas desde las 07:00 y 1 hora y media antes de las 15:00 · El total de descansos a la vez no puede superar el 12% del total de empleados en turno. No sé si alguien puediera echarme una mano o si existe alguna macro que pueda servirme de base para ir modificando algunos parámetros de la misma. Gracias.

    • 0

      Reacciones de usuarios

    • 1 respuesta
    • 2k visitas
  13. Buenos días, Lo primero que esteis bien junto con vuestras familias. La siguiente macro funcionaba en excel 2016 y ha dejado de funcionar en excel 365. Lo curioso es que si lo ejecuto paso a paso (PF8) funciona pero si se jecuta la macro de corrido no exporta las imagenes y necesito exportar mas 500. Heprobado a poner un delay hasta de 10 sg ¿Podríais ayudadme por favor? Muchísimas gracias y un cordial saludo. ---------------------------------------- Sub CopiaCeldasGrabaImagen(ruta) Dim RangoC As Range Dim Archivo As String Dim Imagen As Chart Dim Result As Boolean Archivo = ruta & ".gif" Set Rango…

    • 0

      Reacciones de usuarios

    • 1 respuesta
    • 2.2k visitas
  14. Started by JMPV,

    Buenas tardes estoy ejecutando un programa en vba - Excel y aunque el programa acaba bien me da una ventana con el siguiente error "Error de Automatización - Destinatario no Valido " cuando ejecuto el botón de Carga Masiva, el usuario es DS01070X. A la espera de vuestra respuesta, gracias y saludos. Evolucion acciones Ribbon 2020 ganancia perdidas.xlsm

    • 0

      Reacciones de usuarios

    • 0 respuestas
    • 893 visitas
  15. Started by imiki,

    Ante todo disculpen si mi proposición no va aqui. Buenas tardes, les quería proponer un tema que me gustaría resolver. Tengo una impresora 3D. Existen varios tipos de filamento, en función de su uso y características, además de una gran variedad de colores. He hecho una libro Excel donde asigno una hoja para cada tipo y color de material. Por ejemplo: PLA Blanco, PLA Gris, PLA Rojo ASA Blanco, PETG Negro, ect… En cada hoja apunto el objeto que imprimo y la cantidad de material que gasto en hacerlo. Con eso consigo saber siempre cuánto material me queda en cada bobina, pues el programa de impresión me dice el material necesario para cada pieza. …

    • 0

      Reacciones de usuarios

    • 1 respuesta
    • 648 visitas
  16. Started by ID3M,

    Buenas tardes a todos, lo primero es disculparme por si mi duda no debería de ir en este grupo. Tengo una duda si se puede realizar o no (sin VBA o con), intentaré explicarme lo mejor posible. Digamos que trabajo con un fichero de txt de unas 2000 palabras, mi objetivo es importarlo y que salga columnas de 50 filas. Se restringir la tabla en la fila 50 pero se corta ahí. Mi duda es puedo programar (con VBA o sin) de alguna manera para que una vez llegue a la fila 50 salte de columna y así sucesivamente y siga añadiendo las palabras? Un saludo a todos, gracias.

    • 0

      Reacciones de usuarios

    • 3 respuestas
    • 1.2k visitas
  17. Started by Denys,

    Buenas, tengo el siguiente código: Private Sub CommandButton106_Click() Hoja2.Select Hoja2.Range("B1").Select While ActiveCell.Offset(0, 6) <> Empty ActiveCell.Offset(1, 0).Select boton = ActiveCell.Offset(0, 6) <======= En ésta linea de código obtengo el nombre de un botón que se encuentra digitado en una celda. (Ejemplo: "CommandButton6") y es almacenado en la variable boton, tal como se muestra. If Hoja1.txtcodigo.Text = ActiveCell Then boton.BackColor = &HFF& <======= Aquí está el problema, cuando quiero hacer referencia a ese nombre como un botón, no lo reconoce (Ejemplo: CommandButton6.Backcolor=&HFF…

    • 0

      Reacciones de usuarios

    • 9 respuestas
    • 5k visitas
  18. Started by PatricioCabanillas97,

    Hola, buenos dias, como estan? Les comento que soy nuevo tanto en el foro como en el uso de Macros. Mi inconveniente es este, tengo la siguiente Macro: Sub Definitiva_Posta() Definitiva_Posta Macro Range("B1:B10").Select Selection.Copy Sheets("Hoja2").Select Range("A3").Select Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=True Rows("3:3").Select Application.CutCopyMode = False Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove Sheets("Hoja1").Select Range("B2:B10").Select Selection.ClearContents End Sub Lo q…

    • 0

      Reacciones de usuarios

    • 1 respuesta
    • 1.3k visitas
  19. Hola favor necesito de vuestra ayuda!!! mi problema es que quiero adjuntar un solo archivo (ya creados en pdf) a cada dirección de correo que esta en la columna 14 y filas 1 en adelante; y desde el segundo correo me va adjunto el archivo anterior más el correspondiente de fila 2; en el tercero, los dos anteriores, más el de la tercera fila y así sucesivamente. Favor vuestra ayuda en .AddAttachment Les dejo todo el código: Sub SendMail_Gmail() Dim Email As CDO.Message Set Email = New CDO.Message correo = "[email protected]" passwd = "123456789" mensaje = Range("A1") cuerpo = Range("B1") Email.Configuration.Fields(cdoSMTPServer) = "smtp.gmail…

    • 0

      Reacciones de usuarios

    • 0 respuestas
    • 876 visitas
  20. hola he creado un a aplicacion y en uno de los modulos abre y cierra otro libro de excel dependiendo los cambios que se le hagan guarda y cierra pero al terminar de usar la aplicacion quedan muchas ventanas vacias abiertas tantas como capturas o modificaciones que hice este es mi codigo Private Sub MultiPage2_Click(ByVal Index As Long) If MultiPage2.Value = 0 Then Application.Visible = False Application.ScreenUpdating = False Workbooks.Open Filename:=ThisWorkbook.Path & "\" & "server.xlsx" Worksheets("MATERIALES").Activate Worksheets("MATERIALES").AutoFilter.Sort.SortFields.Clear Worksheets("MATERIALES").AutoFilte…

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 1.1k visitas
  21. Started by karla12,

    Okayy, uhm, ¿alguien por favor me podría ayudar con una tarea, por favor? No sé nada de macros, lo único que tengo hecho fue por ayuda de una amiga, pero ella ya no sabe como hacer lo siguiente: Mi tarea es hacer una ficha de búsqueda de "biblioteca". Y lo que tengo que hacer es que en la hoja uno (inicio) escribiendo en las casillas de a lado o el autor, color, código, título, fecha (alguno de ellos, no escribir en todas), presione botón "buscar" y me dirija a la hoja 2 (base de datos), y seleccione lo que haya pedido. Estoy demasiado perdida. infooo..xlsm

    • 0

      Reacciones de usuarios

    • 3 respuestas
    • 719 visitas
  22. Started by nel002,

    ActiveSheet.Shapes("foto").Fill.UserPicture (rutaimagen)

    • 0

      Reacciones de usuarios

    • 0 respuestas
    • 914 visitas
  23. Buenos dias maestros del excel, Tengo un userform con varios ComboBox y ellos hagan las consultas de distintas tablas del access (datos constantemente actualizándose) con la acción del UserForm_Initialize. Con este codigo puedo consultar en el combobox desde access: Private Sub UserForm_Initialize() Dim cn As Object Dim datos As Object Dim consultaSQL As String Dim conexion As String Set cn = CreateObject("ADODB.Connection") conexion = "Provider=Microsoft.ACE.OLEDB.12.0;" & _ "Data Source=C:\Users\JULIO CESAR\Desktop\Prueba_V01.accdb" 'Aqui va la ruta de tu base de datos consultaSQ…

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 1.1k visitas
  24. Buenas noches estimados Si son tan amables y me colaboran. Necesito crear una plantilla que me permita cargar una Base de datos de 1.000 o más registros con sus diversas características. De modo que pueda posteriormente comunicarme vía Whatsapp web haciéndoles llegar información a todos estos Clientes, cada vez que tengamos promociones en el Concesionario.

    • 0

      Reacciones de usuarios

    • 1 respuesta
    • 2.2k visitas
  25. Started by Jorge Castruita,

    Buen día. Tengo este archivo en excel con un ejemplo de pasar datos en tiempo real con programación VBA, este ejemplo me lo creo una persona de aquí mismo de este foro y estuve interactuando con el código del ejemplo. Mi duda es, en el archivo viene explicado lo que busco lograr pero no sé como, tengo datos aleatorios de la columna A a la columna F, al hacer doble click en cualquier dato lo posiciona automáticamente en la columna K a partir de la fila 2 y de ahí cualquier dato lo va colocando hacía abajo. Mi duda es ¿Como puedo posicionar estos datos en cualquier fila ya sea a partir de la fila 10 y así hacia abajo, de la fila 2 hacia abajo o de cualquier fila q…

    • 0

      Reacciones de usuarios

    • 1 respuesta
    • 1k 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.