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. Buenas tardes recurro nuevamente a su apoyo, tengo una lista de asistentes por fecha (Hoja ASISTENCIA) lo que la macro hace, es Eliminar varios registros a la vez, hasta allí todo bien El problema esta en que los asistentes se repiten sus datos (nombre, código, etc), lo que cambia es la fecha de asistencia, entonces al Eliminar, me elimina los registros que encuentra primero Lo que deseo es que me elimine los registros seleccionados pero diferenciando la fecha de asistencia. asi mismo que con el boton modificar me permita hacer modificaciones a varios registros a la vez en el campo Fecha Asistencia Muchas Gracias por sus respuestas. …

    • 0

      Reacciones de usuarios

    • 6 respuestas
    • 1.3k visitas
  2. buenas estoy teniendo problemas con el codigo en los siguientes aspectos no hay problema en mostrar el nombre pero no logro hacerlo desde la la hoja 2 teniendo los datos en la hoja 1. a la hora de seleccionar el codigo luego la ubicacion y luego al intentar cambiar el codigo me salta error 13 me gustaria saber como se hace para que al presionar siguiente el codigo salte a la siguiente linea, es decir se selecciono el codigo 3 y al presionar siguiente debe salir el numero 4 no se si me doy a entender espero que si buscar con conbobox.rar

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 1.3k visitas
  3. Started by exskizzo,

    Buenas a todos. Recientemente cambie a Office 2010 y algunas macros dejaron de funcionar o por lo menos ya no lo hacen como lo hacian cuando utilizaba Office 2003. Una de varias macros es la siguinte: Esta macro lo que me hacia es que al poner el nombre de la foto el la celda "G3" me insertaba la foto y me la ajustaba en el rango "S1:W10" lo cual ya no sucede y es por eso que recurro a ustedes en busca de su ayuda. Quedo en espera de su valiosa ayuda. Insertar foto.rar Insertar foto.rar

    • 0

      Reacciones de usuarios

    • 7 respuestas
    • 1.3k visitas
  4. buenos días, tengo un archivo de excel que en la columna C tiene las fechas en formato dia/mes/año y quiero que al usuario seleccionar un mes en un combobox se filtre todas las fechas correspondientes al mes seleccionado. yo utilice el grabador de macro y el codigo quee me da es Range("C10").Select ActiveSheet.Range("$A$9:$K$379").AutoFilter Field:=3, Criteria1:= _ xlFilterAllDatesInPeriodMay, Operator:=xlFilterDynamic lo que quiero es saber como decirle que el mes es el que selecciona el usuario es decir que el May seria variable. gracias

    • 0

      Reacciones de usuarios

    • 1 respuesta
    • 1.3k visitas
  5. Started by per2880,

    Buenas tardes, recurro a este foro ya que necesito ayuda de los expertos, las acciones que realiza la macro es en el hoja data importa registros de un excel externo eso ya esta funcional, lo que necesito es que en al crear las hojas con la plantilla M_INTERIOR, me cree con el botón copiar de forma que cada vez que ejecute el boton me copie lo que esta en la hoja data y que una vez copiados se borren; a parten me gustaría que no se muestre la plantilla M_INTERIOR que este oculta para que el usuario no modifique la misma, e intentado pero no me ha resultado ya que al ocultarlo y crear las hojas las crea ocultas y eso no es lo que deseo, no se si es posible crear o al copiar…

    • 0

      Reacciones de usuarios

    • 1 respuesta
    • 1.3k visitas
  6. Started by ALCAZABE,

    [ATTACH]38420.vB[/ATTACH]Hola a todos. El tema es el siguiente, tengo una plantilla creada con varias columnas en la hoja "albaranes pendientes" en la cual quiero copiar varios datos de la hoja "Hoja para volcar datos". Estos datos se vuelcan diariamente. Tengo creada una macro que funciona bien la primera vez (el primer dia), pero cuando intento ejecutarla el segundo día me sobreescribe los datos. He estado indagando para ejecutar la macro siempre a partir del la primera celda vacía de la columna B, puesto que la columna A siempre estará ocupada por una formula, y he insertado un pequeño codigo que no me funciona. He aquí el problema a ver si alguien puede decirme el p…

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 1.3k visitas
  7. Started by xboxfile,

    Hola. Con la duda que tengo he hecho búsquedas por las webs de Excel pero no he encontrado algo que se ajuste a lo que quiero hacer. Lo que he encontrado es copiar y pegar siempre las mismas celdas en los mismos sitios. Tengo una hoja de cálculo en la que hay distintos artículos. Cada día tengo que pedir algunos de estos por e-mail y me gustaría automatizar un poco el proceso. Lo que quiero es que con solo poner un dato en una celda de la columna A (con que sea diferente de "" es suficiente), cuando le dé a un botón sepa que tiene que pasar a otra hoja los datos de las celdas adyacentes de la misma fila. Una vez están en la otra hoja me será más fácil copiarlos a un …

    • 0

      Reacciones de usuarios

    • 8 respuestas
    • 1.3k visitas
  8. Hola buen día.. Necesito una macro que me haga lo siguiente Tengo un textbox dentro de un formulario cuyo contenido lo arroja en la hoja activa, al darle aceptar, este contenido del textbox, se completa al seleccionar en un listbox que extrae de una base de datos, es decir de otra hoja...hasta ahi todo funciona...pero como hacer para que al ser diferente el contenido del textbox pueda yo escribir en este, y me lo pueda reemplazar en la base de Datos?...cuyos datos se encuentran el la columna F a partir de la fila 2.. Tengo estas lineas de código pero no me actualiza la base de datos que está en la hoja 27 pero se llama RUC empresas..no se si ahi esta el error o e…

    • 0

      Reacciones de usuarios

    • 3 respuestas
    • 1.3k visitas
  9. Started by jeladio,

    Hola amigos: Acudo nuevamente para solicitar su ayuda, tengo el siguiente codigo que llena un listbox llamado T3 y lo ordena alfabeticamente y todo funciona bien pero tengo otros listboxs T4, T5,....T10 que quisera llenarlos con el mismo rango de datos, ¿es posible hacerlo con un bucle? o de que otra forma puedo hacerlo para no tener que repetir el mismo codigo, tantas veces como listbox tengo que llenar. Espero haberme dado a entender. saludos Private Sub CommandButton1_Click() Set SourceSheet = Worksheets("sustratos") LastRow = SourceSheet.Cells(Rows.Count, 2).End(xlUp).Row On Error Resume Next Set Coll = New Collection With T3 .Clear …

    • 0

      Reacciones de usuarios

    • 0 respuestas
    • 1.3k visitas
  10. Started by viejo,

    hola aqui buscando la manera de poder imprimir un informe de word mediante excel, ¿si tengo mis datos en una hoja de excel, y quiero que esos datos aparescan primeramente como campos en un formato prediseñado con word (como cuando combinas correspondencia) para que despues se incerten mediante un click en mi formulario de excel, como tendria que hacerlo? no tengo idea como empezarlo... quiero que mediante un click de mi formulario de excel ("imprimir informe") que ya habia capturado mis datos previamente se abra un documento de word con los datos ya insertos en un formato que yo haya prediseñado de word...¿alguien me puede auxiliar, guiar, ayudar, llevar de la mano?:blue…

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 1.3k visitas
  11. Started by NAB_20,

    Buenas, estoy intentando controlar varios errores en un código con la instrucción "On Error Goto [LABEL"]. El primer error que detecta sí que funciona bien pero en el siguiente ya da error. La idea del código es que mire si hay determinada imagen en la hoja y en caso de que no la localice pase a la siguiente línea para ver si hay otra imagen que me interesa localizar Adjunto archivo. Saludos y gracias PruebaError.xlsm

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 1.3k visitas
  12. Que tal a todos. Yo soy nuevo en esto de la programación en VBA, llevo 2 semanas programando y me aventure por un problema que tiene mi papa de estar buscando archivo por archivo y cada uno copiarlo manualmente de una carpeta a otra... Lo que hice fue crear un programa en donde te manda un Msgbox en donde te pide la carpeta origen de los archivos y la carpeta destino de los archivos, los graba en A1 y B1 para después usar esos valores. Luego en columna C, en forma decendente, se ponen los nombres de los archivos que tiene que buscar y copiar de carpeta a carpeta.... Mi petición sería ver como hacerlo mas eficiente el programa porque a veces se cicla el programi…

    • 0

      Reacciones de usuarios

    • 1 respuesta
    • 1.3k visitas
  13. Started by CamiloM,

    hola amigos, soy un poco novato en esto de los macros... y estoy intentado hacer un programa que facilite muy trabajo pero me encuentro con un error que me saca canas bueno... el error que me sale, lo he resumido en esto: Sub asd() Dim d, e As String d = "A5" e = "=sum(A2:" & d&")" End Sub[/CODE] me sale error de sintaxis en 4 linea... le quiero asignar a e=sum(A2:A5) .... y no me deja.... PD: A5 puede cambiar de valor por eso no lo pongo directo. PD: este no es toda la macro... pero resolviendo este puede corregirlo. De antemano gracias por su colaboracion

    • 0

      Reacciones de usuarios

    • 5 respuestas
    • 1.3k visitas
  14. Buenos días a todos; Hoy traigo una consulta que no sé si ha vosotros os ha ocurrido y que no logro saber el porque. Tengo un formulario que contiene un listView y también tiene unos textBox y un botón que al pulsarlo me filtra los datos según el criterio de los valores de dichos textBox. Lo que no acabo de entender es lo siguiente, si le doy al filtro la primera vez se ejecuta todo correctamente pero en cambio si no cierro el formulario e intento hacer otro filtro lo hace bien pero me repite los encabezados a la derecha. A alguno se le ocurre algo de porque sucede esto. Adjunto enlace de un video y también macro: ListView Saludos …

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 1.3k visitas
  15. Started by adriancanog1,

    Hola cómo están? Espero que bien, bueno les comento que después de buscar y probar encontré el buscador que me gusta, pero tiene un pequeño detalle que me gustaría cambiar, este buscador solo trae una columna, en este caso solo la B, cómo hago para que me traiga la A, B y C? Muchas gracias. asdasda.rar

    • 0

      Reacciones de usuarios

    • 4 respuestas
    • 1.3k visitas
  16. Started by Alejandro92,

    Hola, quería saber si alguien me podía echar una mano. Estoy intentando obtener en Visual Basic la distribución binomial para una n=5 y una p=0.2 pero no consigo obtenerla. Si alguien podría ayudarme se lo agradecería. Un saludo y muchas gracias.

    • 0

      Reacciones de usuarios

    • 0 respuestas
    • 1.3k visitas
  17. Started by Jose BN,

    Buenos días, Amigos quisiera solicitar la colaboración con las siguientes macros: 1. Necesito crear una macro para la siguiente formula: =+SI.ERROR(((L9-K9)*24)-(BUSCARV(K9;$AI:$AJ;2;0));"") y ubicarla en la columna M9 de la hoja llamada BD y que se copie hacia abajo, una vez hecho esto convertir el resultado a valores para que no se visualice la formula. 2. En la columna N hacer lo mismo indicado en el punto uno, para esta formula: =SI.ERROR(BUSCARV(K9;$AI:$AJ;2;0);""), siempre en la hoja BD. 3. En la columna Q crear otra macro para esta formula: =CONCATENAR(O9;"&";P9) igual que se copie hacia abajo y convierta el resultado en valores. 4. Por ultimo hace un tie…

    • 0

      Reacciones de usuarios

    • 10 respuestas
    • 1.3k visitas
  18. Started by pixel04,

    necesito su ayuda *******...tengo un pequeño problema con el siguiente codigo: Private Sub CommandButton1_Click() Dim i As Integer Dim final As Integer For i = 1 To 1000 If Hoja2.Cells(i, 1) = "" Then final = i Exit For End If Next Hoja3.Cells(final + 1, 1).Offset(3, 0) = UserForm4.TextBox1 Hoja3.Cells(final + 1, 3).Offset(3, 0) = UserForm4.TextBox2 Hoja3.Cells(final + 1, 4).Offset(3, 0) = UserForm4.TextBox3 Hoja3.Cells(final + 1, 5).Offset(3, 0) = UserForm4.TextBox4 Hoja3.Cells(final + 1, 6).Offset(3, 0) = UserForm4.TextBox5 UserForm4.TextBox1 = "" UserForm4.TextBox2 = "" UserForm4.TextBox3 = "" UserForm4.TextBox4 = "" UserForm4.TextBox5 = "" UserForm…

    • 0

      Reacciones de usuarios

    • 1 respuesta
    • 1.3k visitas
  19. Started by jesuspg,

    Hola compañeros, Tengo un módulo de login que me mantiene ocultas las hojas del libro, siempre y cuando el usuario no se haya identificado previamente. El caso es que cuando abro el libro en otro equipo (evento Workbook_Open > Abrir FormularioDeAcceso), me aparece el típico mensaje de "Habilitar las macros". El problema es que YO NO QUIERO QUE EL USUARIO PUEDA VISUALIZAR EL CONTENIDO DE ESAS HOJAS SI NO ESTÁ LOGUEADO. Y claro... Simplemente, con cerrar el mensaje de habilitar las macros y un click derecho "Mostrar hojas" es suficiente para visualizar el contenido de las hojas, sin necesidad de tener que loguearse. Por eso mi pregunta es: ¿Sabéi…

    • 0

      Reacciones de usuarios

    • 4 respuestas
    • 1.3k visitas
    • 1 seguidor
  20. Started by Jonny33,

    Buenas tardes a tod@s, He hecho una hoja de calculo donde a partir de un determinado valor que introduzco en la hoja flows en la celda D11 obtengo otro en la celda E29. Pues bien, pretendo hacer en la hoja 1-1-2014, para los diferentes valores de la columna B, obtener el valor de h aplicando las formulas que contiene la hoja flows. Seguro que se puede hacer de alguna forma y seguramente con una macro pero honestamente no se como. Alguien sabe como? Adjunto ejemplo. Gracias de antemano y saludos. flow calculations.rar

    • 0

      Reacciones de usuarios

    • 0 respuestas
    • 1.3k visitas
  21. Started by kinsnake,

    Buen dia. Quiero que al seleccionar una celda aparezca una calendario Emergente, la tabla la tengo por mes en 12 columnas, el calendario que aparezca si estoy en la columna junio, por ejemplo, solo me muestre los dias de este mes y no me deje cambiar a otro mes, ademas en la parte de arriba va una celda para el año, y el calendario emergente solo pueda mostrar el calendario correspondiente a ese año y claro al mes de la columna seleccionada De ante mano agradezco su gran apoyo Adjunto archivo ---------------------------------------------- Excelente, agradezco mucho el apoyo de los 2, ya logre instalar office de 32 bits y ya puedo ver el calendario de tese1969, y es el…

    • 0

      Reacciones de usuarios

    • 5 respuestas
    • 1.3k visitas
  22. Started by adevares,

    Hola tengo un pequeño problema, estoy trabajando un libro y preciso poder insertar filas y que vengan con el formato y formula de la fila anterior. ahora bien tengo este macro Sub insertarfilayformula() ' ' insertarfilayformula Macro ' ' Acceso directo: CTRL+m ' ActiveCell.Rows("1:1").EntireRow.Select Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove ActiveCell.Offset(-1, 6).Range("A1").Select Selection.AutoFill Destination:=ActiveCell.Range("A1:A2"), Type:= _ xlFillDefault ActiveCell.Range("A1:A2").Select End Sub[/CODE] pero deseo combinarlo con este otro que encontre en el foro para que me de la opcion de a…

    • 0

      Reacciones de usuarios

    • 4 respuestas
    • 1.3k visitas
  23. Hola a todos; Una duda que no soy capaz de resolver. Tengo dos textbox en un formulario y en el evento beforeUpdate una validación simple. También estoy usando en el evento KeyDown la tecla "F12" que una vez pulsada me retrocede y borra lo que tenía en el anterior textbox Si la validación no se cumple en el textbox2 me arroja un error porque no puede salirse del cancel=true y llevar el foco al textbox1. ¿Es posible salirse de ese cancel=true pulsando la tecla F12, o como podría depurar ese error?. Saludos a todos. MCancel.xlsm

    • 0

      Reacciones de usuarios

    • 8 respuestas
    • 1.3k visitas
    • 3 seguidores
  24. Started by joseapm6260,

    Estoy intentando que una macro se active en una fecha determinada cada año pero no consigo completar le parte que resalto en rojo. Sub DESCATALOGAR() Call CONEXIONBBDD Dim sqlX As String Set rstX = New ADODB.Recordset Dim sqlY As String Set rstY = New ADODB.Recordset 'Dim curso As Date If Day(Date) = 9 And Month(Date) = 9 Then 'On Error Resume Next sqlX = "UPDATE LIBROS SET LIBROS.Descatalogado = True;" With rstX .CursorLocation = adUseClient .CursorType = adOpenKeyset .LockType = adLockOptimistic .Open sqlX, cnn, , , adCmdText End With ' curso = Year(Date) & "/" & Right(Year(Date) + 1, 2) sqlY = "UPDA…

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 1.3k visitas
  25. Started by jzenteno,

    Estimados Amigos, Escribo en busca de su preciada ayuda. Tengo un Userform que tiene dos ComboBox y un TextBox, que alimentan un ListBox cada uno. El problema es que los tres listbox es para el mismo equipo y no he podido hacer que al hacer click en cualquiera de los listbox queden los tres listbox seleccionados para poder eliminarlos, solo he podido hacerlo de uno en cada listbox y cuando tienen muchos equipos digitados es un problema. Espero haberme expresado bien. dejo un ejemplo del userform. Muchas gracias de antemano por la ayuda. Slds JL. ayuda.zip

    • 0

      Reacciones de usuarios

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