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 a todos y gracias por vuestra ayuda. Utilizo excel 2007, en mi sistema de facturación tengo una macro que al pulsar un botón me guarda en pdf, imprime, crea siguiente numero de albarán y manda la información a la Hoja2 "VENTAS" en forma de listado, hasta ahí, todo estupendo, pero ahora quiero modificar la macro para que haga un vinculo o hipervínculo desde la celda donde esta ubicado el nº de albarán al archivo pdf creado, que está en otra carpeta, lo he intentado de varias maneras y nada, me da varios errores y lo tengo que hacer manualmente uno por uno cada albarán, no sé si podrá ayudarme, pero se lo agradezco de antemano. Adjunto archivo, donde se puede ver en …

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 886 visitas
  2. Started by Onotera,

    Buenos días, Adjunto hoja con macro en la cual me crea hojas con cada registro de la base de datos. Una vez creadas esas hojas y a la hora de imprimir en pdf, me gustaría poder quitar el salto de página que tienen y que sólo me imprimiera el rango (a1:x64) en el archivo pdf, que corresponde con el formato recibo. Copia de Recibos ok.rar

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 886 visitas
  3. Hola a todos, Tengo un archivo que contiene macro para conciliación bancaria. Quisiera por favor que me digan como hago para eliminar ese mensaje "FECHA DE VCTO CADUCADO - 31.08.13". Si bien puedo trabajarlo cambiando la fecha de mi pc, pero eso me genera problema lo que quiero es que ya no salga ese mensaje. Mil gracias por la ayuda que me puedan brindar.

    • 0

      Reacciones de usuarios

    • 5 respuestas
    • 886 visitas
  4. Started by Benito Bartolomé,

    Hola y buenos días a todos; -¿Se puede depurar mejor la macro que adjunto? Sí es posible agradecería vuestros consejos. Código: Sub notas() With Worksheets("Notas") .Cells(1, 1).AddComment .Cells(1, 1).Comment.Text Text:="Titulo1" .Cells(1, 2).AddComment .Cells(1, 2).Comment.Text Text:="Titulo2" .Cells(1, 3).AddComment .Cells(1, 3).Comment.Text Text:="Titulo3" .Cells(1, 5).AddComment .Cells(1, 5).Comment.Text Text:="Titulo4" .Cells(1, 1).Comment.Visible = False .Cells(1, 2).Comment.Visible = False .Cells(1, 3).Comment.Visible = False .Cells(1, 5).Comment.Visible = False End With End Sub …

    • 0

      Reacciones de usuarios

    • 7 respuestas
    • 886 visitas
  5. 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
    • 885 visitas
  6. Hola a todos. Mi nombre es Maurizio y mi nuevo problema con la VBA es este: Yo en una hoja de excel gracias a su ayuda Anterior que es esto: Dim rngTarget As Range Sub GetShapeFromWeb(strShpUrl As String, rngTarget As Range) With rngTarget.Parent .Pictures.Insert strShpUrl .Shapes(.Shapes.Count).Left = rngTarget.Left .Shapes(.Shapes.Count).Top = rngTarget.Top End With End Sub Private Sub Cmd_Recupera_Immagini_Click() 'On Error Resume Next For I = 1 To 1 Call GetShapeFromWeb(Foglio1.Range("A10").Value, Foglio1.Range("B20")) Call GetShapeFromWeb(Foglio1.Range("A11").Value, Foglio1.Range("C20")) Call GetShapeFromWeb(Foglio1.Range…

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 885 visitas
    • 1 seguidor
  7. Hola....Tengo una lista con dos columnas en excel 2007, en la columna A tengo una lista con muchos nombres de sucursales, en la columna B tengo datos aleatorios.....quiero que a un costado exista de la lista exista un boton que al presionarlo se generen archivos excel por separados con nombre de cada sucursal y que en el interior de cada uno de estos archivos aparezca en una celda especifica, el dato aleatorio que le corresponde a cada sucursal. Gracias

    • 0

      Reacciones de usuarios

    • 0 respuestas
    • 885 visitas
  8. Started by jeladio,

    Hola amigos: Quisiera saber si existe alguna manera de visualizar un formulario de access desde formulario excel y poder ejecutar los macros que en ella se encuentran. saludos

    • 0

      Reacciones de usuarios

    • 1 respuesta
    • 885 visitas
  9. Buenas una pregunta quisiera saber si hay una Macro para bloquear unas determinadas celdas, es decir “A1:B10”. Al momento de ingresar datos en estas celdas ejecuto la macro y se bloquean dichas celdas, no olvidemos que siempre la tendrá toda la hoja protegida sin excepción las celdas ya escritas sin ejecutar la macros. Para que necesito está macro, manejo muchos números y por x razón lo modifico y este hace que mis cuentas no cuadren entre los días, meses y años. Gracias.

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 885 visitas
  10. Hola a todos, Primero que todo quiero agradecer por los aportes y ayuda encontrada en este foro. Mi caso es el siguiente: Tengo una base de datos de aproximadamente 40 000 registros, cada uno con más de 20 campos. Todos los datos han sido ingresados manualmente desde diferentes libros de Excel. Cada que se desea trabajar con un grupo de registros que cumplan ciertos criterios, por ejemplo “speciality_1”, se hace un filtrado y estos contactos son copiados en nuevo libro llamado Call_List, ahí pueden ser modificados, ya sea cambiando los campos, agregando datos e incluso se pueden agregar nuevos registros (Para que no existan duplicados se hace un filtro mediante vl…

    • 0

      Reacciones de usuarios

    • 0 respuestas
    • 884 visitas
  11. Hola a todos, me podrían ayudar por favor con el siguiente código para lo siguiente: Tengo un formulario en el cual hay tres botos: Guardar, imprimir y cerrar, cada uno de ellos ejecuta una macro que realiza cada actividad de guardado, imprimir y cerrar. Ahora lo que quiero es obligar a que las personas hagan lo k yo quiero y evitar que dañen el formulario, para lo cual quiero hacer esto: Que la persona no pueda ejecutar el botón guardar si previamente no ha ejecutado el botón de imprimir y le salga el mensaje “Primero debe imprimir el archivo, y después guardar”, al darse esta condición entonces permitirle a la persona poder ejecutar el botón guardar. Es similar a…

    • 0

      Reacciones de usuarios

    • 1 respuesta
    • 884 visitas
  12. Started by eduromanc,

    Estimados, Estoy tratando de concatenar unos datos que cumplen cierta condición. Buscando por ahí encontré la función concatenar.si, me sirve pero tengo el problema que el valor que busco tiene muchas entradas iguales a concatenar y me las repite el numero de veces que la encuentra, y no he logrado que me la coloque una sola si es igual y concatene si es distinto. Encontré una macros que lista los valores sin repetir, la uní con la primera pero solo me pega el ultimo valor que tiene la condición buscada y el ultimo del rango que busca, intente de mil maneras, pero no lo solucione, si alguien sabe algo o puede darme una mano se lo agradecería. Saludos. c…

    • 0

      Reacciones de usuarios

    • 0 respuestas
    • 884 visitas
  13. Started by JoseRoberto,

    Ya realice un codigo en donde ya manda el correo y manda un rango de celdas pero necesito que ese mismo archivo de donde saco el rango de celdas se adjunte en el correo. Espero me puedan ayudar ya que llevo casi 2 dias intentandolo. rivate Sub Si_Click() Dim NSession As Object Dim NDatabase As Object Dim NUIWorkSpace As Object Dim NDoc As Object Dim NUIdoc As Object Dim quienes(0) As Variant Set NSession = CreateObject("Notes.NotesSession") Set NUIWorkSpace = CreateObject("Notes.NotesUIWorkspace") Set NDatabase = NSession.GetDatabase("", "") If Not NDatabase.IsOpen Then NDatabase.OPENMAIL End If …

    • 0

      Reacciones de usuarios

    • 1 respuesta
    • 884 visitas
  14. Started by maret,

    Estimados, muy buenos días. Necesito de vuestra ayuda. Tengo el siguiente problema, me dieron dos libros Excel en Visual Basic, uno que funciona y el otro no (Que son iguales, salvo algunas modificaciones). El que no funciona precisamente el problema está en la solapa "PENDIENTE" en la botonera de "ACCION" Actualizar, no trae datos y no funciona desde que se agrego el modulo 7. Algo que debo aclarar es que el archivo trae los datos de una red por lo que no puedo adjuntar aquí esos datos, pero a lo mejor algun buen compañero me puede aportar una idea de por que uno trae los datos y el otro no. El que funciona es Libro1. Y el que no Libro Modificado. https://docs.googl…

    • 0

      Reacciones de usuarios

    • 0 respuestas
    • 884 visitas
  15. Started by jesus miguel,

    Buenas noches: Tengo el siguiente macro que lo acomode a mi utilidad Sub Copiar_a_RecKardex() For Each Hoja In Worksheets If Hoja.Name <> "REC" Then 'Comprobamos antes si la hoja está entre las mencionadas en la columna R Dim qRangoR As Range 'Set qRangoR = Application.Intersect(Columns("P:P"), Hoja28.UsedRange) Set Origen = Range("P2") For Each cell In Origen If cell.Value = Hoja.Name Then 'si la hoja coincide con alguno de los nombres de la columna N, se ejecuta uFila = Worksheets("REC").Range("A" & Rows.Count).End(xlUp).Row …

    • 0

      Reacciones de usuarios

    • 0 respuestas
    • 884 visitas
  16. Started by Herumel,

    Buenas. Recurro a ustedes por que no logro completar lo que deseo hacer con un excel. Mi problema se trata de la web de la empresa, pero que no es empresa es matriz, y tampoco tenemos mucha relación, me gustaría llevar un historico de ventas, pero no me dejan acceso a los archivos, solo via web, y por hay tengo que entrar. En principio he creado un excel de que es lo que querría. En el archivo verán que en la columna A, se encontraría la entrada de datos que sería una conexión de Datos Externos via web, hecha con una macro, para que cuando entre se actualice. Pero claro, no me vuelva solo los que yo quiero, si no todos los datos, y una cosa que debería hacer es poder…

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 884 visitas
  17. Started by dasogoster,

    Hola a todos, encontre esta pagina y me parece muy buena, felicidades, me gustaria hacer una pergunta, necesito generar una secuencia de cinco numeros sin repetir entre el 1 y el 50, esto mas o menos lo tengo logrado con las formulas =ALEATORIO.ENTRE(1;50) y =JERARQUIA(A1;$A$1:$A$50)+CONTAR.SI($A$1:A1;A1)-1, el caso es que realmente lo que necesito es, que los cinco numeros resultantes, tengan las sigientes condiciones: * 2 números pares y 3 impares * 3 números en la primera mitad, del 1 al 25, y 2 números en la segunda mitad, del 26 al 50 * La suma de los cinco numeros debe estar entre 131 y 150 ¿Seria posible?, gracias... Saludos...

    • 0

      Reacciones de usuarios

    • 0 respuestas
    • 884 visitas
  18. Started by josshelito,

    Necesito encontrar la estación por medio de la columna auxiliar y que el valor 0 ENCONTRADO EN OFFSET Ó EL LADO QUE SEA L.C (LINEA CENTRAL) sume los valores de los lados (L.I y L.D) izquierdo y derecho Se me complica en el monento que la L.C pasa al final del orden de la estació o a su inicio Me dirán que ordene los valores en las columnas del offset y la elevación pero debido a que se tiene que llevar el registro de esta manera no debo. En la columna "E" dejo los valores supuestos de la operación Cualquier ayuda, gracias de antemano. ------------------------------FORMATO ELEVACIONES--------------------------.xls

    • 0

      Reacciones de usuarios

    • 0 respuestas
    • 883 visitas
  19. Started by muyayito,

    Buenas a todos foro. Estoy dandole vueltas a ver que fallo me da la macro para generar un codigo QR y no soy capaz de detectarlo. Y otra cosa, como se modificaría la macro de borrar el codigo? Porque boton que haya para ejecutar macro, se lo ventila. Gracias a todos por vuestro tiempo. Generar código QR.xlsm

    • 2

      Reacciones de usuarios

    • 6 respuestas
    • 883 visitas
    • 2 seguidores
  20. Started by RandalHP,

    Hola que tal, Tengo el siguiente código que me ayuda a exportar una columna cada 100 filas y guardar lo en una carpeta en formato .txt pero cada vez que exporto al final de la línea 100 se agrega un espacio en blanco, me pueden ayudar a quitarlo y que solo queden las 100 líneas que necesito. Adjunto código: Sub ExportarTXT() Dim mPath$, iniCell$, i&, LR&, Vec, j%, iniTime!, R% iniCell = "$G$2" iniTime = Timer mPath = ThisWorkbook.Path & "\Txt\" With CreateObject("Scripting.FileSystemObject") On Error Resume Next: .GetFolder(mPath).Delete True: On Error GoTo 0 .GetFolder(ThisWorkbook.Path).subFolders.Add "Txt" End With LR = Cells(Rows.Count, R…

    • 0

      Reacciones de usuarios

    • 5 respuestas
    • 883 visitas
    • 2 seguidores
  21. Started by kikerubi,

    Hola amigos que tal, ha pasado algún tiempo desde mi última consulta y espero al igual que en anteriores ocasiones puedan asesorarme. Ahora sí, la situación es la siguiente: Estoy comenzando un formulario para la empresa donde trabajo y necesito que después de haber seleccionado ciertos "criterios" al dar click en un botón se agreguen las variables en la hoja1, para ser más específicos que agrege los valores en la primer fila disponible (en éste caso sería la fila 9), y que una vez hecho esto inserte una nueva fila (en este caso sería debajo de la fila 9) copiando las fórmulas (de la fila 9) de las columnas D, E y F. Espero haberme explicado un poco, les dejo un ar…

    • 0

      Reacciones de usuarios

    • 4 respuestas
    • 883 visitas
  22. Buenas tardes, Navegando por la red encontré el siguiente código, el cual elimina la opción de unhide en excel, el problema es que yo puedo lograr que me aparezca, de antemano agradezco su ayuda. cabe mencionar que he intentado lo siguiente pero no funciona. cbControl.Delete.Reset 'Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean) ' Dim cb As CommandBar, cbControl As CommandBarControl, cbButton As CommandBarButton ' Set cb = Application.CommandBars("Column") ' For Each cbControl In cb.Controls ' If cbControl.Caption = "&Unhide" Then ' cbControl.Delete ' End If ' Next 'End Sub

    • 0

      Reacciones de usuarios

    • 0 respuestas
    • 883 visitas
  23. Started by Gothgauss,

    Hola Como puedo hacer para que si en la celda A1 el valor sea > 5, entonces se oculte un boton (el cual haría acciones específicas para cuando A1<5) Gracias

    • 0

      Reacciones de usuarios

    • 1 respuesta
    • 883 visitas
  24. Started by enrux,

    Hola .. Como estan..Espero que bien.. si Por favor me podrian ayudar con este codigo Sub guardarhoja() ActiveWorkbook.Save Application.Dialogs (xlDialogSaveAs)Show End Sub[/CODE] sucede que cuando Lo ejecuto Sale El Dialogo de Guardar Como.. Me sale Predeterminado en formato Excel.. Habría Alguna Forma Que Saliera ya elejido en Formato Pdf? asd.rar

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 882 visitas
  25. Buenos días, expertos necesito una ayuda en mi archivo en la hoja Etiquetas_1 hay formato de rótulos ese formato quisiera que se imprima las cantidad de veces de acuerdo a numero que representa en la columna bultos, cada rotulo representa a a un numero de bultos; balga la redundancia, lo que necesito es una macro que me imprimala cantidad de veces de cada rotulo de acuerdo el numero de bultos se puede cambien de numero o en otros no se puede poner ningun numero entonce tampoco imprimiria. Muchas gracias, esperando su ayuda por favor. Adjunto el archivo Rotulos-wings.xlsm

    • 0

      Reacciones de usuarios

    • 7 respuestas
    • 882 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.