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. He estado buscando y no encuentro nada por el foro, o no he buscado bien. Utilizo una hoja Excel para el control horario de los trabajadores, y la tengo que utilizar todos los meses.. En el archivo se incluye una macro para imprimir las hojas, cuando van cambiando el código del trabajador con sus datos correspondientes, no sé si es la más ortodoxa, pero lo que he podido hacer. En un mes, aparecen los días laborales, los sábados y los domingos, y cuando es sábado la celda tiene un color, y cuando es domingo tiene otro. Quiero que cuando en la columna del día del mes, la celda que tenga color, por ejemplo A2, el rango de B2 a H2 tenga el mismo color. …

    • 0

      Reacciones de usuarios

    • 0 respuestas
    • 557 visitas
  2. Started by xinortiz,

    Buenas tardes, tengo un formulario con un listbox que muestra datos de otro libro, también tiene un botón modificar, eliminar, pero me falta agregar un buscador, lo he intentado hacer pero me sale error, necesito de su ayuda, espero me pueda ayudar de antemano muchas gracias baseprueba.xlsx InicioPrueba.xlsm

    • 0

      Reacciones de usuarios

    • 6 respuestas
    • 7k visitas
    • 1 seguidor
  3. Hola Amigos Como están!Necesito su apoyo con el siguiente Tema : Talvez les Resulte Fácil pero tengo mucha Información registrada para Procesar "Macro Para Convertir Esta base de datos en su Mismo Celda a Formato Texto Como se Muestra en el Cuadro °2(Adjunto Excel)" Les Agradecería Su Apoyo! Ayuda Excel.xlsx

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 1.2k visitas
  4. Started by NAB_20,

    Buenos días, estoy intentanto hacer un filtro avanzado en vba y no consigo que funcione. Estuve viendo un ejemplo que solucionaba Antoni pero ni así... Os paso el código para ver si podeis darme un poco de ayuda. Lo que me gustaría conseguir es un autofiltro avanzado donde pueda filtra las filas entre dos fechas que yo introduzca con un "inputbox" Sub filtrarfecha() Dim FechaIni As date, Dim FechaFin As date FechaIni = InputBox("Ponga fecha inicio") FechaFin = InputBox("Ponga fecha fin") ActiveSheet.Range("a5:a13").AutoFilter field:=1, _ Criteria1:=">=" & FechaIni, _ Operator:=xlA…

    • 0

      Reacciones de usuarios

    • 10 respuestas
    • 7.9k visitas
    • 1 seguidor
  5. Hola, alguién podría sacarme de dudas ?, es decir confirmarme si al cargar en formulario dentro de un WebBrowser un pdf se puede evitar el parpadeo o no, para ello subo archivo usado así como una representación visual del mismo. Prueba.rar

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 1.1k visitas
    • 1 seguidor
  6. Hello everyone my name is Maurizio and first of all I would like to make you mine most sincere wishes for a Happy New Year; Since for business reasons not I managed to get them first. That said, my new problem is this. on an Excel sheet in the column (B3: B200) I have entered measurements of Specific Weight; Such as "125.3 Kg" Or "94.2 Kg" etc ...! On the other hand, in the row that goes from (i1: n1) I have entered specific data; Such as: (95.0 Kg). (90.0 Kg). (85.0 Kg). (80.0 Kg). (75.0 Kg). (70.0 Kg) as Maximum reachable roof. Now my question is this: Is it possible to highlight the cells ranging from (I1: N1) in a different color if the weig…

    • 0

      Reacciones de usuarios

    • 6 respuestas
    • 1.8k visitas
    • 1 seguidor
  7. Started by Víctor Pérez,

    Buenas, Estoy intentando realizar un macros que me lea los registros que cumplan una condición y me los pegue en otra hoja en la celda que le marco. He probado con esta macro, pero no me lo hace correcto me da error Sub Copiar_datos()

    • 0

      Reacciones de usuarios

    • 13 respuestas
    • 1.9k visitas
  8. Invitado CSI1981
    Started by Invitado CSI1981 ,

    Buenos días Necesito activar el complemento Microsoft Date and Time Picker Control Tengo Excel 2019 y no encuentro manera de resolverlo Desde ya muchas gracias a quien pueda ayudarme

    • 0

      Reacciones de usuarios

    • 0 respuestas
    • 939 visitas
  9. Hola y buenos días a todos; He empezado a crear una macro que me permite crear un archivo .txt pero no sé como continuar. Quiero conseguir que los datos almacenados o filtrados inclusive los que vaya seleccionando con el ratón en el listbox del frm_Cobros los pueda capturar y poder exportarlos al archivo .txt generado. Adjunto macro y video: https://youtu.be/bVO7f-JZuSg Saludos. ExportarTxt.zip

    • 0

      Reacciones de usuarios

    • 6 respuestas
    • 2.2k visitas
    • 1 seguidor
  10. Hola que tal, tengo poca experiencia para crear una macro que haga un autofiltro en la misma hoja de una base de datos, cuyas celdas se hayan seleccionado, ya sean del mismo campo o de varios campos...alguien me pudiera ayudar con esto? Ver el archivo por ejemplo si selecciono la celda D8 y D9, aplicar la macro y realice el autofiltro solamente de las celdas seleccionadas... y asi cualquier combinación que haga de seleccion de celdas.... Saludos y atento a su ayuda. Atte ERH Libro3.xlsx

    • 0

      Reacciones de usuarios

    • 1 respuesta
    • 760 visitas
  11. Started by victorjavega,

    Hola, Tengo un excel con una bbdd de entradas de ocupación de aulas. El programa consiste en lo siguiente: En la hoja "Asignaciones" es donde se introducen manualmente los registros de ocupación, en la hoja "bbdd" es donde se encuentran la lista de profesores y la lista de aulas, y por último la hora "EJEMPLO" que es donde se realizan las consultas de disponibilidad con 2 campos como criterios, "AULA" O "PROFESOR". He añadido una hoja "GENERAL" en la que mi objetivo es que aparezca una vista de todas las asignaciones en el mes en curso, según aula y día, y según sea por la mañana o por la tarde. ¿Alguien podría echarme un cable? Muchas…

    • 0

      Reacciones de usuarios

    • 0 respuestas
    • 572 visitas
  12. Started by Chrispal1977,

    Hola estimados amigos de ayuda excel quisiera pedirles de favor me ayuden con el siguiente problema: Tengo en la celda a1 de la hoja 1 un texto que puede ser mas largo eso no importa, he colocado un botón con un código que al presionar separa el texto en varias líneas pero el problema es que sustituye el contenido de la celda a1 de la hoja 1, me interesaría que la celda a1 de la hoja 1 quede intacta con la información que se muestra inicialmente y más bien que al presionar el botón del formulario se pueda copiar el contenido a la hoja 2 ahí si me interesa que se separe en líneas como actualmente lo hace, el código trabaja, pero, lo que quiero es que NO sustituya el c…

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 730 visitas
  13. Started by jalomiva,

    Buenas a todos los que pertenecemos a este gran foro. Desde hace unos 4 o 5 días me arroja el error 13, porque hasta la fecha la macro corría bien, por mas que he leído en el foro no doy con la solución. en rojo es la linea que me arroja el error. Private Sub Matricula_AfterUpdate() If WorksheetFunction.CountIf(Hoja12.Range("C:C"), Me.matricula.Value) = 0 Then MsgBox "Matricula Incorrecta" Me.matricula.Value = "" Exit Sub End If With Me nombre = Application.WorksheetFunction.VLookup(CLng(Me.matricula), Sheets("AGENTES").Range("C3:D3000"), 2, 0) End With End Sub

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 1.2k visitas
  14. Hola, cómo están? estoy intentando encontrar un macro que me permita buscar una palabra en la columna A y reemplazar el valor en la columna B de la misma fila Cía codigo Chile 1 Argentina 2 Uruguay 3 Entonces se me abre el imput pongo argentina, se me abre un imput valor nuevo y pongo 10. Y me quedaría el siguiente resultado (mejor aún si me puedo parar arriba del valor y ya me traiga el imput automatico, es decir me paro sobre la celda A3 y cuando me sale el cartel del imput ya me autoaperece el valor Argetina, doy OK y paso al paso 2) Cía codigo …

    • 0

      Reacciones de usuarios

    • 4 respuestas
    • 1.2k visitas
  15. Started by 6luishao6,

    Buenas a todos tengo una duda que realiza una impresión de la hoja en la que estoy trabajando:Dispongo de este código:………………….................................................................................................................Private Sub CommandButton68_Click()If ExecuteExcel4Macro("show.toolbar(""ribbon"",1)") ThenApplication.CommandBars.ExecuteMso ("PrintPreviewAndPrint")End IfExecuteExcel4Macro ("show.toolbar(""ribbon"",0)")End Sub………………....................................................................................................................--------------------------------------------------------------------------Este código:ExecuteExcel4Macro("sh…

    • 0

      Reacciones de usuarios

    • 7 respuestas
    • 2.6k visitas
  16. Hola!! A ver si alguien me puede ayudar con una macro, necesito transponer los registros que están contenido en una celda que tienen un separador "|". Pongo un ejemplo: Inicialmente tengo esto 2 columnas: refe productos A 1|2|3|4|5 B 6|7 Y quiero que la macro en cuestión me lo haga así: refe productos A 1 A 2 A 3 A 4 A 5 B 6TRANSPONER CADENA TANTAS VECES SE REPITA.xlsx B 7 Muchas gracias de antemano. Un saludo.

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 633 visitas
  17. Started by jhon fredy,

    como puedo modificar este codigo ,para que se ejecute en el rango "ap2: aw25" , y se ejecute en columnas intermedias , o sea ap,ar, at y av MarcaSimilitudes.xlsm

    • 0

      Reacciones de usuarios

    • 1 respuesta
    • 735 visitas
  18. Buenas tardes... por favor necesito ayuda sobre el siguiente tema: tengo una macro que corta y transfiere datos en una hoja, sin afectar el formato de la celda de origen. En la misma hoja me funciona de maravillas, pero no puedo transferir datos A OTRAS 7 HOJAS SIMILARES, en los mismos rangos. Cuando lo intento me copia los datos en la misma hoja de origen. Les agradeceria me pudieran ayudar con esto. Sub MigrarPUB() ActiveCell.Offset(0, 0).Range("B1:GO1").Select Selection.Copy rgoOrigen = Selection.Address 'seleccionar la primer celda de destino Set rgoDestino = Application.InputBox("Haga clic en lugar de destino", Type:=8) 'me selecciona …

    • 0

      Reacciones de usuarios

    • 1 respuesta
    • 903 visitas
  19. Buenos dias, expertos tengo un formulario que registro, modifica, elimina datos a la vez muestra un listado de datos en en listview la pregunta es si por medio de un combobox seleccione los encabezados de cada columna de datos y escribir en un textbox para lugo filtrarlos y asi cada vez que escoja del combobox y escriba en la caja de texto me filtre los datos. Muchas gracias a todos... por favor adjunto el archivo. Control Protocolos.xlsm

    • 0

      Reacciones de usuarios

    • 1 respuesta
    • 874 visitas
  20. Started by FPAYNO,

    Buenas tardes. Necesito ayuda. Necesito que en el momento que activo una celda se ejecute una macro Lo unico que he encontrado es una forma de ejecutarlo cuando das doble Click. pero estoy buscando la forma de activar cuando activas la macro cuando habilitas para escribir o le das doble click. Adjunto el ejemplo con doble click Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) If Not Application.Intersect(Target, Range("D4:D100")) Is Nothing Then Cancel = True Call ENTRADA1 End If Gracias de ante mano y un saludo.

    • 0

      Reacciones de usuarios

    • 4 respuestas
    • 1.2k visitas
  21. Hola a todos; -Me habían pasado una macro que adjunto en la que se puede editar desde el listbox. Lo que no se modificar es lo siguiente: Abro el formulario, selecciono desde el listbox el registro a seleccionar y este lo pasa a los textBox. Cuando presiono el botón editar se edita el registro pero me lo pone de primero en la hoja. Yo lo que quiero es que quede en la hoja en la misma fila y no me lo mueva de posición. Adjunto un video explicando el tema: Video: EditarListBox Un cordial saludo para todos. EditarListBox.xlsm

    • 0

      Reacciones de usuarios

    • 3 respuestas
    • 2.9k visitas
    • 1 seguidor
  22. Started by Galactico,

    buenas, estoy tratando de reducir el tamaño del siguiente código If InStr(1, c, "Out") Or InStr(1, c, "out") Then c.Value = "NS" Else c.Value = c.Value If InStr(1, c.Offset(0, 1), "Out") Or InStr(1, c.Offset(0, 1), "out") Then c.Offset(0, 1).Value = "NS" Else c.Offset(0, 1).Value = c.Offset(0, 1).Value If InStr(1, c.Offset(0, 2), "Out") Or InStr(1, c.Offset(0, 2), "out") Then c.Offset(0, 2).Value = "NS" Else c.Offset(0, 2).Value = c.Offset(0, 2).Value If InStr(1, c.Offset(0, 3), "Out") Or InStr(1, c.Offset(0, 3), "out") Then c.Offset(0, 3).Value = "NS" Else c.Offset(0, 3).Value = c.Offset(0, 3).Value básicamente es reemplazar texto de una ce…

    • 0

      Reacciones de usuarios

    • 3 respuestas
    • 1.1k visitas
  23. Started by 6luishao6,

    Buenas tardes una consulta como puedo hacer una macro que al momento de ingresar estos datos (del 1 al 100) en la celda me convirtiera al dar enter automáticamente, entre los rangos de 1 a 5: En la hoja A1 coloco 50 pero automáticamente debiera aparecer 3, como esta en la descripción de abajo. De 1 punto a 11 puntos * 0,05 = 1 punto De 31 puntos a 49 puntos * 0,05 = 2 puntos DE 50 a 69 puntos *0,05 puntos = 3 puntos DE 70 puntos a 89 puntos *0,05 = 4 puntos DE 90 puntos a 100 *0,05 = 5 puntos La fórmula la tengo en una celda pero no hay espacio en mi hoja de impresión por eso deseo que haga esa conversión automáticamente al momento de i…

    • 0

      Reacciones de usuarios

    • 7 respuestas
    • 1.4k visitas
  24. Started by Benito Bartolomé,

    Buenas tardes o días a todos; -Como puedo configurar cuatro textBox para que sólo me deje introducir 4 dígitos en y al acabar de anotar el último dígito en la caja pase al siguiente textBox y así sucesivamente hasta que se complete el último y una vez completado este me habilite un botón. Adjunto macro y video explicativo: video: salto entre textBox Saludos y gracias de antemano. Saltos.xlsm

    • 0

      Reacciones de usuarios

    • 5 respuestas
    • 1.1k visitas
    • 1 seguidor
  25. Started by marcosab,

    Hola a todos Requiero de su ayuda para completar el siguiente macro Private Sub UserForm_Initialize() Dim Cnn As New ADODB.Connection Dim Rs As New ADODB.Recordset, Sql As String Dim Hoja As Object ComboBox1.ColumnCount = 4 ComboBox1.ColumnWidths = "50;40;100;150" Set Cnn = New ADODB.Connection Cnn.Open "Driver={SQL Server}; Server=10.15.50.50; Database=pruebas; Uid=sa;Pwd=123456" Set Rs = New ADODB.Recordset Sql = "SELECT Usuario, Contraseña, Hojas_Activas, Nombre, Unidad FROM Usuarios" Rs.Open Sql, Cnn, 3, 3, adCmdText If Not Rs.EOF = True Then ComboBox1.Column = Rs.GetRows Cnn.Close Lo que requiero es lo siguiente 1 limitar a 10 segundo…

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 875 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.