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

    Buenos dias y espero que tod@s esteis bien con la situacion en la que nos encontramos, llevo tiempo trabajano con una plantilla para llevar el control de un turno de trabajo, despues de intentarlo no consigo que indicando la fecha que quiero buscar en la hoja TURNO DIARIO , me rellene con el nombre de las personas que trabajan de MAÑANA (M), TARDE (T) y NOCHE (N)., esta necesidad es debido a que muchos compañeros cambian turnos y asi poder saber quien entre en cada turno de trabajo.Plantilla de Servicios5.xlsm Muchas gracias de antemano y sobre todo seguir asi por que gracias a este foro muchos estamos descubriendo un mundo apasionante.

    • 0

      Reacciones de usuarios

    • 8 respuestas
    • 1.7k visitas
    • 1 seguidor
  2. Hola a tod@s De antemano agradecer por su tiempo en leer este tema que me complica. La siguiente macro se conecta a una base de datos de Access, realiza la consulta, me extrae la primera linea (encabezado); pero no el resultado. Aparece un mensaje de error " El valor de BOF o EOF es True, o el actual registro se eliminó; la operación solicitada requiere un registro actual" cuando esta en la siguiente linea: "Recordset.MoveFirst" . Hasta donde pude observar el problema esta en LIKE '801-??-88????-???' ya que si no tomo en cuenta esa parte la informacion extrae sin problemas. He intentado reemplazarlo con LIKE '801-**-88****-***' y de otras formas y siempre me da…

    • 0

      Reacciones de usuarios

    • 1 respuesta
    • 1.6k visitas
  3. Buenos días a todos; No me deja adjuntar la macro y por eso os pongo un enlace de un video. La macro consta de dos formularios con el siguiente código para el ComandButton1 del Form1. Private Sub CommandButton1_Click() UserForm2.Show UserForm2.CommandButton2.Visible = True End Sub Al ComadButton2 en el Form2 tiene la propiedad visible como false. Como se ve en el video cuando ejecuto la macro la primera vez no me muestra el botón "Mostrar" en cambio si la vuelvo a ejecutar si lo hace. ¿No se porqué? Siento no poder subir la macro para mayor entendimiento. Un cordial saludo. Video

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 1.3k visitas
    • 1 seguidor
  4. Started by gacg1310,

    Buenas Tardes desde Colombia: Acudo a ustedes por el ERROR 424 que me esta saliendo en mi formulario. Sale cuando digito una cedula que no existe en la hoja base. El al crear esa cedula la pega un registro abajo de la ultima cedula creada pero sale el error y me saca de excel. Agradezco su ayuda base 1.3.xlsm

    • 0

      Reacciones de usuarios

    • 3 respuestas
    • 1.2k visitas
  5. Hola amigos de AE, estoy tratando de unificar dos macros en una sola ya que tienen los mismos eventos pero no logro hacerlo. A ver si me pueden dar una mano. La macro fue creada por Haplox y funciona a la perfección, pero me he dado cuenta que la finalidad de la macro también debe aplicarse a las columnas E y F de la hoja LISTADO GENERAL en función de los datos reflejados en la columna D (DATO 4) de la hoja COLORES. Es decir, por ejemplo, el valor reflejado en D5 correspondiente a SUB AMARILLO de la hoja COLORES, debe actualizarse de manera automática cada vez que este valor cambie. Cabe señalar, que D5 y siguientes se actualiza automáticamente de la hoja AMARILLO y …

    • 0

      Reacciones de usuarios

    • 9 respuestas
    • 3.4k visitas
  6. Buen día amigos, este código no me fallaba antes y ahora dice ERROR 13 "no coinciden los tipos", adjunto el código Falla cuando quiero asignar un rango a una variable (Rango) , rango que también se arma con una variable (FilaCeldaActual) Les agradezco la ayuda de antemano. Sub prueba() Dim FilaCeldaActual As Long Dim Rango As String ' el tipo de variable la cambio por range long string y siempre falla FilaCeldaActual = ActiveCell.Row Rango = Range("A1:X" & FilaCeldaActual) MsgBox Rango End Sub macro prueba.xlsm

    • 0

      Reacciones de usuarios

    • 10 respuestas
    • 11k visitas
  7. Started by FPAYNO,

    Buenas tardes. Necesito ayuda para abrir un archivo en modo escritura que ya está siendo usado en la web online. La ruta del archivo es esta..(sustituyendo algunos datos) Workbooks.Open Filename:= _ "https://xxxxxxx-my.sharepoint.com/personal/xxxxxxxxxx_com/Documents/Desktop/MANUAL%20USO%20DE%20LAS%20CAM/ejemplo.%20ejemplo.xlsx" Cuando accedo a el me lanza el siguiente mensaje. Archivo en uso. Usuario - bloqueo la edición del archivo Opciones: Ver una copia. Guardar y editar una copia del archivo. No se si existiría la forma de poder acceder en modo escritura a el sin tener que …

    • 0

      Reacciones de usuarios

    • 1 respuesta
    • 2.6k visitas
  8. Started by jhosmar84,

    Hola estimados, me gustaría que me puedan ayudar con una macro para poder pasar datos a otra hoja con una condición. En la Hoja1 tengo una data, la cual me interesa solo la columna Modelos, cada vez que seleccione un modelo de mi data, lo pueda pasar a la hoja2 en la columna modelo, la selección es una celda a la vez, cuando copie y/o pase el dato de la celda a la hoja2, me vaya ingresando una tras otra hasta la celda C10, una vez que llegué a dicha celda, no me permita copiar mas y me salga un mensaje "ya no puede pasar otro dato, rangocompleto". Asimismo, en la hoja1 si yo selecciono otra celda que no este dentro de la columna Modelo, no me permita copiar, a…

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 786 visitas
  9. Buenos días, Busco hacer una macro que divida los valores de la columna "C" de la pestaña (2) entre el valor constante que le corresponde a esta planta , dato de la pestaña (1) , columna "A". Y devolver los valores resultantes de esta división en la columna "D", pestaña (2). Gracias por adelantado Libro1.xlsx

    • 0

      Reacciones de usuarios

    • 1 respuesta
    • 1.1k visitas
  10. Hola y buen día a todos; He visto publicado en esta web el siguiente articulo: +10 columnas by Antoni Sería posible implementarlo a mi macro. Explico: En un formulario llamado "frm_Cobros" tengo un botón "btn_Filtro" el cual ejecuta una consulta sql a Access y devuelve el resultado a mi "listBox1". El problema que se me plantea es que no puedo mostrar mas de diez columnas. Como comenté al principio he visto en el enlace anteriormente mencionado una forma de conseguirlo pero el listBox se alimenta de datos del propio Excel y no de una consulta. Si no es viable esta opción, me serviría cualquier otra que cumpla la condición de mostrar…

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 1.2k visitas
    • 1 seguidor
  11. Buenos dias días expertos, los solucito sus ayuda con una macro que necesto filtrar con cuatro celda en la hoja consoludado lo que acontinuación los explico. Necesito presentar en la pestaña “Consolidado” los periodos elegidos por el usuario, así como la suma de los componentes que conforman el PIB por tipo de gasto, para lo cual se deberán tomar en cuenta las siguientes consideraciones: El usuario deberá elegir una fecha inicial menor a la final y en caso elija el mismo año deberá elegir el trimestre de la fecha inicial menor al de la fecha final (en caso suceda lo contrario, el programa notificará al usuario con el mensaje “Debe ingresar las fechas correctamente” y…

    • 0

      Reacciones de usuarios

    • 8 respuestas
    • 1.1k visitas
  12. Started by ANIBAL3,

    Cómo hacer que si una celda esta vacía que se visualize un texto pero sn macros. Gracias

    • 0

      Reacciones de usuarios

    • 15 respuestas
    • 4.9k visitas
  13. Buenas noches. Estoy buscando una macro que realice la siguiente funcionalidad en un solo archivo. Una vez abierto el libro se ejecute automáticamente una macro la cual oculte todas las barras de los extremos (barra de menú, barra de herramientas, cinta de opciones, barra de formula, etc..). La dificultad de esto es que solo lo tiene que dejar las barras ocultas en un libro dejando el resto de libros abiertos y pendientes de abrir con las barras habilitadas. Únicamente he encontrado está macro la cual te oculta todos los archivos abiertos. por lo que no me sirve Private Sub Workbook_Open() Application.CommandBars("Worksheet Menu …

    • 0

      Reacciones de usuarios

    • 4 respuestas
    • 2.6k visitas
  14. Saludos a todos los foreros de esta comunidad, por sus conocimientos y ayuda que nos proporcionan a los iniciados al tema de las macros, haber si podeis aclararme que estoy haciendo mal. Si en el textbox9 introduzco la cantidad de 2566,45 en textbox13 debería dar la cantidad de 231,00 y no es así, me devuelve la cantidad de 0,23 (adjunto macro) Gracias por adelantado Private Sub TextBox9_Change() With Me.TextBox9 .Value = TextBox9.Value .Value = Format(.Value, "#,##0.00") End With TextBox13 = Format(Val(TextBox9.Value) * (0.090009), "#,##0.00") End Sub

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 793 visitas
  15. Started by jeaa,

    Tengo una macro para combina celdas como yo necesito, pero esta macro solo esta definido con unos rangos de celdas pero yo necesito que cuando yo escoja cualquier rango de celdas de las columnas seleccionadas me combine, mejor dicho que me recorra como lo hace la macro crado(como guia la macro que esta grabado). Ajunto el archivo Muchas gracias por si ayuda. Prueba Macro .xlsm

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 5.3k visitas
  16. Started by josuam,

    Buenas noches!! Tengo el siguiente código para validar el ingreso correcto de las fechas, pero también quiero poder controlar que si la fecha a ingresar es diferente a la actual se pida verificar si efectivamente se desea ingresar la fecha digitada o si se desea cancelar el ingreso, limpiando el textbox y dejando el setfocus en él. Private Sub Fecha_Exit(ByVal Cancel As MSForms.ReturnBoolean) If Me.Fecha <> Empty Then If Not IsDate(Me.Fecha) Then MsgBox ("Introduzca una fecha correcta"), vbCritical Cancel = True Me.Fecha = Empty Else …

    • 0

      Reacciones de usuarios

    • 4 respuestas
    • 5.4k visitas
  17. Buenos días Tengo que agradecer por toda la ayuda brindada en el pasado Tengo un proyecto de completar un archivo de Word con información de Excel para eso he tratado con el siguiente código: Sub A_crear_word() mi_carpeta = ActiveSheet.Range("A2") Set objWord = CreateObject("Word.Application") objWord.Visible = True objWord.Documents.Add Template:=mi_carpeta, NewTemplate:=False, DocumentType:=0 For I = 3 To 8 busqueda = ActiveSheet.Range("B" & I).Text remplazar = ActiveSheet.Range("A" & I).Text With objWord.Selection.Find .Text = busqueda .Replacement.Text = remplazar .Execute Replace:=2 End …

    • 0

      Reacciones de usuarios

    • 1 respuesta
    • 832 visitas
  18. Buenos dias, necesito ayuda para saber como puedo evitar que mis formularios de VBA al ejecutarlos ni cierren los demás Libros que ya tenia abiertos.

    • 0

      Reacciones de usuarios

    • 7 respuestas
    • 1.7k visitas
  19. Buenos días y feliz año a todos. Tengo la siguiente duda que no sé si es posible configurar o no. Me gustaría conseguir que al poner un dato en el "TextBox50" del formulario "frm_Clientes" se haga una consulta a la base de datos Access "BBDD" y que el dato obtenido de la consulta se traslade a los "TextBox", (rellenando todos los campos que tengan datos en la consulta). Tengo algo parecido pero en el "TextBox60" pero este es un comboBox y me gustaría que fuese sobre un "TextBox" Adjunto macro de ejemplo. Un cordial saludo. MacroSql.zip

    • 0

      Reacciones de usuarios

    • 5 respuestas
    • 2.4k visitas
    • 1 seguidor
  20. Invitado CSI1981
    Started by Invitado CSI1981 ,

    Buenas tardes, feliz año para todos Quería saber si es posible pudieran ayudarme en lo que estoy intentando hacer Tengo una planilla en donde quiero aplicar una macro en donde se borre el contenido de la fila si se cumple una condición En la columna CG11 esta el valor que debe cumplirse (cabe aclarar que desde la fila 11 en adelante quiero que se cumpla la macro, se puede poner un tope si hace falta) el valor es 70 Y desde la columna CH11 hasta EX11 los datos que quiero borrar Agradezco de vuestra atención Saludos

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 956 visitas
  21. Buenos días Podríais ayudarme a refinar esta macro que realice con la grabadora. Gracias Sub MetodoAbrirLibro() Workbooks.Open "C:\Users\jctorres\Desktop\pruebas partes automaticos\C2020-0138_Carga_Horas (1)2.xls" Windows("PARTE DE TRABAJOS EE-II.xlsm").Activate Sheets(13).Range("A8:f78").Copy Windows("C2020-0138_Carga_Horas (1)2.xls").Activate Sheets("Personal").Range("A8:f78").PasteSpecial xlPasteValues Windows("PARTE DE TRABAJOS EE-II.xlsm").Activate Sheets(13).Range("F2").Copy Windows("C2020-0138_Carga_Horas (1)2.xls").Activate Sheets("Personal").Range("G3").PasteSpecial xlPasteValues Windows("P…

    • 0

      Reacciones de usuarios

    • 8 respuestas
    • 1.7k visitas
  22. Started by NAB_20,

    Buenas noches, estoy haciendo el código de una macro y pese a que estoy consiguiendo que "funcione" no estoy contento con el código. En la macro "SumaSiFrutaVendedor" la columna de la fruta es dinámica y nos podemos encontrar que en ocasiones haya 3 productos como 10 diferentes. Me gustaría conseguir que cuando inserto la línea del "sumIfs" sea dinámica y se adapte al rango de la cantidad de frutas diferentes, lo estoy pensando, pero no veo como ahorrar líneas de la macro... Estoy empezando con el vba y ando perdido cualquier ayuda será bienvenida para seguir aprendiendo. Saludos PruebaVendedor.xlsm

    • 0

      Reacciones de usuarios

    • 9 respuestas
    • 2.7k visitas
  23. Started by rubenwinner,

    hola gente del foro,tengo un programa al cual le he modificado algunas cosas pero no se como proceder para que tome otros datos en lugar de los actuales;adjunto ejemplo donde se aclara bien el tema;muchas gracias PROGRAMA RUBEN 2.xls

    • 0

      Reacciones de usuarios

    • 4 respuestas
    • 1.1k visitas
  24. Started by LeonardoDaniel,

    Estimada red, espero me puedan ayudar con esto: Tengo un formulario desde el cual puedo agregar datos a una hoja de Excel se compara la celda Nombre "Hoja14.Cells(j, 2)" con el TextCLIENTE. Si cliente NO esta registrado, lo registra y agrega los datos. Pero si el cliente ya esta registrado quiero que lo modifique con los nuevos datos asignados El código que tengo funciona para registrar un nuevo cliente. EL PROBLEMA SURGE AL MOMENTO DE MODIFICARLO (SI SE MODIFICA) PERO TAMBIEN LO AGREGA. Este es el código que tengo: Private Sub CommandButton1_Click() Dim i As Integer Dim j As Integer Dim Final As Integer Dim F…

    • 0

      Reacciones de usuarios

    • 3 respuestas
    • 799 visitas
  25. Buenas tardes a todos; Una pequeña ayudita si es posible.. Quería borrar los datos de unas determinadas celdas al abrir el libro Excel. En la macro que he creado y adjuntado hace eso mismo pero debo estar situado en esa hoja para que se cumpla. Lo que me gustaría conseguir es que los borre esos datos sin que sea obligatorio estar en esa determinada hoja. Gracias y feliz año a todos. BORRAR.xlsm

    • 0

      Reacciones de usuarios

    • 9 respuestas
    • 1.3k visitas
    • 1 seguidor

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.