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. Hola amigos de Ayuda Excel Tengo el siguiente código que sirve para insertar filas en una hoja (la cual es copiada de la fila 5 y pegada en la primera fila disponible de la columna A. Quiero agregarle una condición al código que evite pegar la fila si la celda de la fila activa correspondiente a la columna K es igual a 0. Es decir que no la copie. Sub Insertarfila() Application.ScreenUpdating = False Dim ult As Long ult = ActiveSheet.Range("A" & Rows.Count).End(xlUp).Row + 1 Range("A5:K5").Select Selection.Copy With ActiveSheet.Range("a" & Rows.Count).End(xlUp).Offset(1) .PasteSpecial Paste:=xlPas…

    • 0

      Reacciones de usuarios

    • 8 respuestas
    • 835 visitas
  2. Started by tono812,

    Buenos días, Tengo un problema con un archivo de excel al que quiero mediante un botón ocultar las columnas cuyas celdas estén vacías, es un inventario de productos por almacen que muestra las cantidades del mismo de acuerdo al código de cada producto. Me oculta las columnas del rango que estoy usando sin tomar en cuenta si están vacías o no. En una archivo con menos datos lo he probado y si funciona. Adjunto el archivo para que lo miren. También tiene programado un buscador para que muestre solo la referencia del producto requerida, entonces la mecánica del archivo sería mostrar solo una referencia de producto y poder ocultar las columnas (almacenes) que no te…

    • 0

      Reacciones de usuarios

    • 8 respuestas
    • 3.7k visitas
  3. Buenas, estoy intentando crear un botón que me copie unas celdas determinadas de un libro a otro y después que me vuelva a copiar éstas celdas de una hoja a otra. la primera parte la tengo resuelta pero ahora no se por donde seguir. Así tengo el código de momento: Sub CopiarCeldas() Dim Pesadas As Workbook Dim Destino As Workbook Application.ScreenUpdating = False Set Pesadas = Workbooks.Open("Z:\D.Calidad y Tecnica\2_Gestion de CALIDAD\Patri\TONI\pesadas.xls") Workbooks("pesadas.xls").Worksheets("BCT2DB").Range("B1:H7398").Copy Workbooks("destino.xlsm").Worksheets("BD").Range("A2") Pesadas.Close False End Sub La pregunta en …

    • 0

      Reacciones de usuarios

    • 8 respuestas
    • 4.7k visitas
  4. Estimados Amigos, Buenas tardes, tengo un archivo que genera pdf a partir de la información que existe en una hoja de excel; que esta a su vez importa información de un archivo *.txt El problema es que al importar estéticamente queda disparejo y sin presentación que valga la pena. No sé si haya alguna forma de importar esta información sin tener que utilizar las opciones establecidas por excel de divir las columnas al importar o copiar el texto directamente. Alguna forma de importar con una macro talvez leyendo el texto del archivo txt, alguna guía o sugerencia? Quedo muy agradecido con todos.. El archivo en cuestión: https://driv…

    • 0

      Reacciones de usuarios

    • 8 respuestas
    • 1.9k visitas
  5. Started by Potter08,

    si tengo esta macro Sub ejemplo() valor = 5 NameO = "BaseX" Set Rng = Sheets(NameO).Range("A:A").Find(valor, LookAt:=xlWhole) Sheets(NameO).Rng.Select '<= asi no funciona y coloco separado Sheet(nameO).select y en otra fila Rng.select si lo hace. End Sub pero necesito tomar los vlaores de las filas sin necesidad de selecionar la hoja, como hago eso. Como me posiciono en la celda del valor encontrado y copio toda la fila a otra hoja

    • 0

      Reacciones de usuarios

    • 8 respuestas
    • 2.3k visitas
    • 1 seguidor
  6. Hola, estoy intentando modificar esta macro para poder obtener una ruta del archivo excel del forma automatica. Cambiar HostFolder = "C:\TestFolder" por la ruta que obtengo de concatenar 2 celdas Sub startIt() Dim FileSystem As Object Dim HostFolder As String HostFolder = "C:\TestFolder" Set FileSystem = CreateObject("Scripting.FileSystemObject") DoFolder FileSystem.GetFolder(HostFolder) End Sub Sub DoFolder(Folder) Dim SubFolder For Each SubFolder In Folder.SubFolders DoFolder SubFolder Next i = Cells(Rows.Count, 1).End(xlUp).Row + 1 Dim File For Each File In Folder.Files Active…

    • 0

      Reacciones de usuarios

    • 8 respuestas
    • 3.8k visitas
  7. Hola amigos: Tengo el siguiente código: Public Buscarhoja As String Private Sub UserForm_Initialize() 'Al iniciar el userform Application.Visible = False 'Ocultar la Aplicación Excel End Sub Private Sub UserForm_Terminate() 'Al cerrar el userform Application.Visible = True 'Mostrar la Aplicación Excel End Sub Private Sub UserForm_Activate() 'cargar número TextBox20 = Sheets("EXTRAS").Range("O1") + 1 'Cargar combobox ComboBox1.RowSource = "FP" ComboBox4.RowSource = "LA" ComboBox5.RowSource = "EP" p = Sheets("CLIENTES").Range("C1").End(xlDown).Row ComboBox2.RowSource = "CLIENTES!D2:D" & p End Sub Private Sub TextBox1_Change() 'Formato de fecha E…

    • 0

      Reacciones de usuarios

    • 8 respuestas
    • 3.9k visitas
  8. Started by abisai,

    Buenas tardes soy nuevo en esto de excel de hecho odiaba los editores de textos mi rama va mas por el hardware pero ahoa que entre a servicio social me piden muchas cosas en excel y pues tengo que aprender bueno el problema es este. tengo un documento en excel y tengo que registras caidas en el sistema y a que hora ocurrio eso esa parte esta hecha ya pero ahora el problema es que al momento de querer hacer una grafica acerca de eso no se puede porque las fechas se quedan con la hora y cuenta una caida diferente haci sea el mismo dia por la hora :S quisiera ver si me podrian ayudar aa ver con que formula o proceso puedo hacer que las fechas aparezcan sin hora para pode…

    • 0

      Reacciones de usuarios

    • 8 respuestas
    • 1k visitas
  9. Started by Dani2020,

    Si me pueden ayudar con macro para buscar en base de datos por código, luego que me copie la información en otra hoja automáticamente al ingresar un código en una celda y se vuelva a repetir la misma función en otra celda al ingresar el código Adjunto ejemplo. Libro1.xlsx

    • 0

      Reacciones de usuarios

    • 8 respuestas
    • 1.6k visitas
  10. Started by José Castro,

    Buenos días: Trabajo en una Institución educativa que desea apropiarse mi trabajo realizado en vba. El archivo contiene varias hojas que se muestran según la contraseña que se ingrese, y a su vez, cada hoja tiene diferentes funcionalidades según su propósito. Consulté un tema similar abierto anteriormente donde se menciona un ofuscador para todo el código contenido en un archivo ( ), sin embargo, al aplicarlo me genera un error 1004 en tiempo de ejecución y al abrir el editor me indica error en la siguiente línea: Set Proyecto = ActiveWorkbook.VBProject. Finalmente el resultado es que no puedo aplicar el ofuscador. Me pueden orientar por favor qué es lo que suc…

    • 0

      Reacciones de usuarios

    • 8 respuestas
    • 1.7k visitas
  11. Started by GABMENDOZA,

    Hola buenos días Mi pregunta es la siguiente Lo que pasa es que soy principiante en esto de excel como desarrollador he creado mi primer proyecto el cual se insertan datos consulta y eliminar an estos en fin Lo que quiero es que al cerrar dicho proyecto también se cierre el proceso de excel Tengo un formulario "frmPrincipal" el cual tiene un boton salír # este boton al darle click cierra y guarda # Pero al dale salír cierra mi proyecto pero me voy al administrador de tareas y aun sigue en proceso *excel* Lo que quiero es que al darle click al botón salir me cierre, y también mate ese proceso de excel El código que tiene ese boton es el siguiente Private su…

    • 0

      Reacciones de usuarios

    • 8 respuestas
    • 7.5k visitas
  12. Buenas, necesito ayuda con esta macro. La vengo usando hace ya años, pero de repente sale este error: "Error '1004' en tiempo de ejecución", pero no consigo saber a qué se debe. Además sólo pasa de vez en cuando. ¿Alquien podría echarme una mano? Sería en la hoja de presupuesto: creando capítulos y añadiendo partidas (es al crear nuevas partidas cuando falla). Muchas gracias por adelantado!! Estoy intentando subir el archivo en zip pero no me deja, ¿cómo lo podría subir?

    • 0

      Reacciones de usuarios

    • 8 respuestas
    • 912 visitas
  13. Started by Leonardo Briceño,

    Hola buenos días amigos de Ayuda Excel, acudo nuevamente a ustedes para que me ayuden con esta macro. Muchas gracias Necesito una macro que limpie el contenido de las celdas A,B,C E,F,G de la fila que yo decida seleccionar. No me sirve eliminar la fila pues siempre debe mantener en este caso las 30 filas disponibles para incluir información LIMPIAR CELDAS.xlsm

    • 0

      Reacciones de usuarios

    • 8 respuestas
    • 4.8k visitas
  14. Hola!! cómo están? necesito de su ayuda, quiero copiar datos de una columna de una tabla dinámica y pegarlos automáticamente en otra hoja. Adjunto excel, quiero copiar la columna AG a partir de la fila 2 y pegarla en la hoja2 a partir de A2. Desde ya mil gracias PayrollFuncionarios prueba.rar

    • 0

      Reacciones de usuarios

    • 8 respuestas
    • 1.4k visitas
  15. buen dia. tengo una duda, en un archivo de excel como puedo programar para que al dar clic a un boton me pida usuario y contraseña ya tengo todo el desarrollo echo solo me falta esa parte. Alguien puede ayudarme??? muchisimas gracias....

    • 0

      Reacciones de usuarios

    • 8 respuestas
    • 3.5k visitas
  16. Started by lphant,

    Buenos días; Me estoy liando un poco con las consultas por SQL en Access desde Excel, por favor, me podéis asesorar ( esto no lo había tocado nunca ). Hace un par de semanas empecé a tocar las consultas por SQL, vi un par de videos, hice algún ejercicio, etc…pero no me ha quedado muy claro ya que en cada sitio veo una cosa. Las primeras consultas que hice por SQL las hice con “Execute”, la verdad que me funcionaba bien hasta que he probado con un Access que tengo en red con muchas líneas y ……. tarda muchísimo en obtener los datos, investigando por internet, parece ser que la mayoría de la gente usa “Recordset”. Qué diferencia hay??, Yo en princip…

    • 0

      Reacciones de usuarios

    • 8 respuestas
    • 4.5k visitas
  17. Buen día a todos los que me permitan de su valioso tiempo. Verán tengo dos archivos uno de nombre CodigosPostales.xls y el otro Listado_CodigosPostales_KOM.xlsx. El archivo codigos postales contiene el listado de CP de Mexico, donde cada estado es una hoja del libro, y cada hoja contiene, columnas con los nombres de Estado(Col-E), Ciudad(Col-F), Municipio(Col-D), Colonia(Col- y Codigo postal(Col-A). El segundo archivo es un archivo de un listado de clientes y proveedores de una empresa, en donde vienen datos de Estado(Col-M), Ciudad(Col-K), Delegacion(Col-I), Colonia(Col-H), Nuevo codigo postal(Col-N), etc. Se requiere actualizar los codigos postales en el archivo list…

    • 0

      Reacciones de usuarios

    • 8 respuestas
    • 1.9k visitas
  18. Buen día gente del foro, acá vengo con otra inquietud, quería saber si hay una forma (seguramente la hay) de hacer esto: tengo un rango horizontal de datos (BF4:BP4), necesito una macro para copiar los valores de dicho rango y pegarlo en otra hoja del mismo libro, hasta ahí para mi es facil, lo que no se como hacer es que quisiera que lo pegue en una fila concreta, que se determinará por el valor numérico que ingresemos en la celda (E16), osea, el número que ingresemos en (E16) sería el número de la fila donde quiero que pegue los valores del rango. Adjunto un ejemplo para que lo puedan interpretar mejor, si no soy claro háganmelo saber Desde ya muchas gracias …

    • 0

      Reacciones de usuarios

    • 8 respuestas
    • 1.2k visitas
  19. Started by alinewhiskers,

    Hola chicos, tengo un cuadrito que marca algunas personas que han bajado del promedio y quisiera poder enlistarlos aparte uno tras otro sin dejar blancos, me ayudan por favor? En base a la calificación se tiene que dar el nombre del individuo y el día en que reprobó, gracias por su apoyo! lista aparte.zip

    • 0

      Reacciones de usuarios

    • 8 respuestas
    • 878 visitas
  20. Started by superboy6969,

    Amigos como están, necesito que me ayuden con un problema, tengo que agrupar horas de trabajo de acuerdo a la cantidad y una fecha específica. Por ejemplo tengo a la persona: Andrés, él trabajo en las siguientes fechas: 21 enero 2014: entró a trabajar a las 8:00 horas y terminó a la 13:00 horas, total horas trabajadas (5) 21 enero 2024: (ese mismo día en la tarde entró a las 15:00 horas y salió a las 23:00 horas, total de horas trabajadas (8) Se considera el siguiente sistema para agrupar las horas normales y horas extras: - Normales hasta las 8 horas - Extras_1 = entre 8 y 10 horas - Extras_2 = mayor a 10 horas Entonces el día 21 enero 2014 Andrés trabajo 13 h…

    • 0

      Reacciones de usuarios

    • 8 respuestas
    • 2k visitas
  21. Hola amig@s. Esta macro Sub GuardaSinMacros() Application.ScreenUpdating = False Application.DisplayAlerts = False Set l1 = ThisWorkbook Ruta = "D:\Datos Mecanicos\" nombre = Range("G4") & "_" & Range("C13") & "-" & Range("H13").Value & ".xlsx" 'Cria archivo llamado Copia.xlsm en la misma ruta para que sirva de base a la creacion del .xlsx en variable nombre l1.SaveCopyAs Ruta & "copia.xlsm" Set l2 = Workbooks.Open(Ruta & "copia.xlsm") l2.SaveAs Ruta & nombre, FileFormat:=xlOpenXMLWorkbook, CreateBackup:=False 'cria archivo requerido l2.Close Kill Ruta & "copia.xlsm" 'elimina el arc…

    • 0

      Reacciones de usuarios

    • 8 respuestas
    • 944 visitas
  22. Started by Giova123,

    Me cuentas como te va

    • 0

      Reacciones de usuarios

    • 8 respuestas
    • 955 visitas
  23. Estimados amigos del foro Les saludo con mucha cordialidad. Acorde a un enlace que encontré, donde se muestra un ejemplo no compartido aún, la sintomatología que podría dudarse respecto al COVID-19 creo que aquí podríamos brindar varias sugerencias para irlo mejorando. Por ejemplo he querido que la decisión en el Rango D17 al D9 se vea como un alerta intermitente. Verde si se Debe quedar en casa; amarillo si se De ir a consulta Médica o Rojo si debe ir a emergencia al hospital. Pero no logro hacer funcionar bien. Además me faltan los porcentajes que no sé cómo lo hace él. Es más si tenemos más parámetros o ideas para aportar, será muy conveniente hacerlo…

    • 0

      Reacciones de usuarios

    • 8 respuestas
    • 1k visitas
    • 1 seguidor
  24. Ciao a tutti, mi chiamo Maurizio e il mio problema è questo: su un foglio Excel, ho creato una tabella che prende come riferimento i dati posti sul foglio 1. Ora il mio problema è questo: vorrei assicurarmi che una volta hai creato un grafico, passerà al foglio 2 e quello del Foglio 1 scomparirà dal grafico. Ma da allora dovrò ricreare gli altri sempre sul foglio 1; Vorrei che il numero della grafica riprendesse sempre da 1 E tutto questo possibile. Grazie alla disponibilità. Saluti sinceri di A.Maurizio. Crea Nuovo Grafico Maury.xlsm

    • 0

      Reacciones de usuarios

    • 8 respuestas
    • 1.4k visitas
    • 1 seguidor
  25. Started by lphant,

    Buenos días; Con una consulta SQL de Access a Excel me estoy trayendo 2 columnas, dichas columnas tienen datos duplicados. Estoy intentando traerme los datos sin duplicar de cada columna (una columna independiente de la otra ) pero tal y como lo pongo me mira en las 2 y me trae lo no duplicado en ambas. "SELECT DISTINCT CLIENTE, MOTIVO FROM Consulta" Se puede hacer de alguna forma o tengo que hacer 2 consultas independientes??. Un saludo, Dupli.xlsm

    • 0

      Reacciones de usuarios

    • 8 respuestas
    • 2.7k 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.