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. Buen dia, tengo excel 2010, he diseñado una pequeña base de datos que ejecuto a traves de un formulario en la hoja 1, (cedula, nombre, cargo, salario, fecha de ingreso, fecha de retiro,...) me envia la informacion a la hoja 2 a una base de datos, lo que me gustaria saber es como puedo hacer si, requiero cambiarle la informacion a alguna persona(cargo, salario, fecha de retiro) al ingresar la inormacion no me ingrese los datos del empleado como nuevo, pues ya existe creado en dicha base de datos, sino que me permite modificarle informacion,, agardezco tu ayuda.. Adjunto el archivo David base de datos.rar

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 1.1k visitas
  2. Hola, tengo esta macro para buscar un código en una macro y copiarla en una hoja específica. Necesito ayuda para realizar la siguiente acción. La base de datos es la hoja Compras. Los datos los necesito sacar a la Hoja Tomate, Acelga, Albahaca, etc. los códigos que necesito buscar los tengo en la columna A de cada hoja (Tomate, Acelga, Albahaca, etc.) Hoy la macro que tengo solo busca la hoja Tomate en la Celda A2, pero tengo códigos en A3, A4, etc. Necesito que la macro busque los código de la Hoja Tomate y los copie en esa hoja a partir de la columna B, en la primer celda vacía (ya resuelto). Luego que termine con esta acción, quiero que cambie de hoja y busque lo…

    • 0

      Reacciones de usuarios

    • 0 respuestas
    • 1.1k visitas
  3. Started by agl12,

    Hola!! Un favor, tengo esta macro: Sub Guardarenpdf() ' ' Guardarenpdf Macro ' ' ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _ "C:\Users\j.valencia\Documents\Pedidos nacional\Formato Pedido Norte Chico.pdf", Quality _ :=xlQualityMinimum, IncludeDocProperties:=True, IgnorePrintAreas:=False, _ From:=1, To:=1, OpenAfterPublish:=False End Sub[/CODE] Hay forma de poderle incluir al titulo fecha y hora? Por favor ayudenme! Gracias!!

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 1.1k visitas
  4. Started by rixi87,

    Alguien me puede explicar como pasar un word a pdf desde vba?? Estoy probando con el siguiente código Dim wrdApp As Word.Application Dim wrdDoc As Word.Document Set wrdApp = CreateObject("Word.Application") wrdApp.Visible = True Set wrdDoc = wrdApp.Documents.Open("pathtoFile\Plantilla.doc") wrdDoc.ExportAsFixedFormat OutputFileName:="pathtoFile\wordtest.pdf", _ ExportFormat:=wdExportFormatPDF[/CODE] [/font][/color] [color=#141414][font=Georgia]Es lo que he encontrado googleando un poco, el problema esta en que la opcion ExportAsFixedFormat no me aparece por lo tanto en esa línea…

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 1.1k visitas
  5. Started by merlyn333,

    Buenas tardes amigos: Tengo lo siguiente: En la celda "Keywords!E2": =SI(D2<>"";CONCATENAR(Constructors!B2;" ";NOMPROPIO(Keywords!B2);" ";NOMPROPIO(Keywords!C2);" ";NOMPROPIO(Keywords!D2);" for ";Constructors!D2;" ";Constructors!E2);"") En la celda "Keywords!E3": =SI(D3<>"";CONCATENAR(Constructors!B3;" ";NOMPROPIO(Keywords!B3);" ";NOMPROPIO(Keywords!C3);" ";NOMPROPIO(Keywords!D3);" for ";Constructors!D3;" ";Constructors!E3);"") En la celda "Keywords!E4": =SI(D4<>"";CONCATENAR(Constructors!B4;" ";NOMPROPIO(Keywords!B4);" ";NOMPROPIO(Keywords!C4);" ";NOMPROPIO(Keywords!D4);" for ";Constructors!D4;" ";Constructors!E4);"") En é…

    • 0

      Reacciones de usuarios

    • 0 respuestas
    • 1.1k visitas
  6. Buenas tardes, voy a intentar explicarme porque llevo programando en Excel muy poquito y soy todavía un mero principiante. Ademas mi archivo es muy lioso y no he puesto demasiados comentarios en los códigos (adjunto dos archivos para que se entienda mejor). Tengo un archivo(consolidado) en el cual cuando pulsas un botón (el "más" verde) te copia y pega una hoja(1) tipo plantilla, donde pego los datos de unas tablas de excel. Cada vez que meto datos, con otro botón (calculadora), me va haciendo una serie de operaciones (medias, máximos y mínimos...) con ellos y guardo un listado de todas las entradas en la hoja 3. Todo eso me funciona perfectamente, aunque quizás en el…

    • 0

      Reacciones de usuarios

    • 8 respuestas
    • 1.1k visitas
  7. Started by Lis Chu,

    Buenos Dias Por favor me pueden ayudar ya que tengo el siguiente codigo para buscar pero me sale error, por favor su apoyo. Dim ult As Integer Dim datoBusqueda As String Dim ncontrato As Long ult = transRowRng.Rows.Count datoBusqueda = TextBox1.Text If datoBusqueda = "" Then MsgBox "Búsqueda cancelada", vbInformation, "Mensaje" Exit Sub Else ncontrato = Val(datoBusqueda) For j = 1 To ult If Cells(j, 2) = ncontrato Then cont = 1 fila = j TextBox2.Text = Cells(j, 3) End If Next j End If If cont = 0 Then MsgBox "Contrato no encontrado", vbInform…

    • 0

      Reacciones de usuarios

    • 7 respuestas
    • 1.1k visitas
    • 1 seguidor
  8. Hola amigos tengo un problemilla que quizás para ustedes expertos será fácil una tabla con muchas filas y columnas entre esas columnas 4 tienen fechas q suman días a partir de la primera sumando+7dias, +14dias y +28 días para su próxima verificación el tema es q diariamente tengo q imprimir las referencias q se revisaran al día siguiente con la grabadora de macros obtuve este código Sub ensayo() ' ensayo Macro Columns("A:H").Select Selection.ClearContents Sheets("Muestras").Visible = True Sheets("Muestras").Select Columns("BO:BO").Select ActiveSheet.Range("$BO$1:$BO$2001").AutoFilter Fiel…

    • 0

      Reacciones de usuarios

    • 4 respuestas
    • 1.1k visitas
    • 1 seguidor
  9. hola resulta que cree esta funcion en un modulo Private Declare Function GetComputerName Lib "kernel32" _ Alias "GetComputerNameA" (ByVal lpBuffer As String, nSize As Long) As Long Public Declare Function GetUserName Lib "advapi32.dll" _ Alias "GetUserNameA" (ByVal lpBuffer As String, nSize As Long) As Long Function ReturnComputerName() As String Dim rString As String * 255, sLen As Long, tString As String tString = "" On Error Resume Next sLen = GetComputerName(rString, 255) sLen = InStr(1, rString, Chr(0)) If sLen > 0 Then tString = Left(rString, sLen - 1) Else tString = rString End If On Erro…

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 1.1k visitas
  10. Started by Anasalia,

    Hola Buenos dias. Quisiera que me ayudaran en como puedo hacerle para actualizar los datos de mi tabla. Cada semana recibo un reporte de tiempo extra en excel el libro cambia de nombre dependiendo de el rango de fecha, la hoja siempre se llama igual. Yo habia pensado abrirla tener una macro en la hoja donde esta la tabla y copiar sus datos, pero no siempre son los mismos datos a veces cambian, despues de actualizar la tabla tengo que graficar y esto es cada semana y guardar en una BD los empleados con sus horas extras. Gracias.

    • 0

      Reacciones de usuarios

    • 8 respuestas
    • 1.1k visitas
  11. Buen día, es mi primera publicación en el foro, espero hacerlo bien. Estoy diseñando un libro para control de pacientes de una clínica y tengo una tabla a la que contínuamente se le ingresan nombres, datos y laboratorios correspondientes; al ingresar un nuevo nombre en la tabla se reordena alfabéticamente según fórmula, pero sus registros (datos) no se desplazan hacia abajo según la ordenación alfabética y según el nombre correspondiente. Quisiera que me asesoraran si es posible a través de una macro VBA lograr esta acción automáticamente dejando en blanco los registros de la nueva persona que ingreso. Espero haber sido lo suficientemente explícito; adjunto documento…

    • 0

      Reacciones de usuarios

    • 3 respuestas
    • 1.1k visitas
  12. hola expertos buenas noches mi idea es como podremos distribuir 800 numeros que se encuentran en la columna A pasarlos a la columna E en grupos de 40 numeros por columna

    • 0

      Reacciones de usuarios

    • 5 respuestas
    • 1.1k visitas
    • 1 seguidor
  13. Started by LaFlower,

    Hola que tal expertos, en esta ocasión recurro a ustedes ya que no tengo idea de como generar esta macro, lo eh hecho con la función de buscarv pero no me funciona tal cual yo quiero ya que solo me muestra el primer dato en el que coincide y los demás datos no me los toma en cuenta, espero me puedan ayudar a solucionar u orientar en como realizar lo siguiente. Tengo un archivo de excel en donde tengo alrededor de 50 hojas cada una llamada ESTADO1,ESTADO2... asi sucesivamente... una de mis hojas se llama ACUMULADO que es donde tengo toda la información de la base de datos, por lo pronto ya logre que dependiendo del nombre de mi hoja se asigne a una celda dentro d…

    • 0

      Reacciones de usuarios

    • 9 respuestas
    • 1.1k visitas
  14. Started by lhpacheco,

    Hola, buen dia soy nuevo en este foro espero su ayuda. tengo una hoja de excel donde realizo calculo de finiquitos por cada calculo le pertenece a una persona lo guardo, esos datos los quiero pasar copiandolo automaticamente a otro archivo de excel ya que al final del mes empiezo habrir archivo por archivo para concentrar la informacion en un solo archivo. ejemplo de lo que requiero: quiero abrir el archivo de calculo introduzco los datos para calcular y antes de guardar indicar que copie los datos de las celdad a un archivo que le tengo llamado captura. y asi sucesivamente. nota: los datos para el calculo estan por orden de columnas.. y al copiarlos deben estar por o…

    • 0

      Reacciones de usuarios

    • 1 respuesta
    • 1.1k visitas
  15. Started by miguecam,

    hola a todos, el probema que tengo es que a la hora de grbar un macro incluyo un buscarv y todo funciona de maravilla pero en el momento que lo ejecuto el programa se salta dicha formula, que puedo hacer? la idea es que con la formula me valide un codigo y me diga a quien pertenece... espero me puden colaborar. adjunto archivo con macro grabado"macro". y la formula de dicho problema es "=VLOOKUP(C[-4],'Nov-2011'!C[-3]:C[-1],3,0)" Formato.xls

    • 0

      Reacciones de usuarios

    • 0 respuestas
    • 1.1k visitas
  16. Team, Un favor, me podrían ayudar asesorandome para mejorar una macro, en esta lo que he tratado de hacer es que me pase datos de varias hoja a una sola. 1.- La macro del archivo DatosDiscos.xlsm me importa archivos de TXT y me genera un libro nuevo que en este caso se llama ResultadoDatosDiscos.xlsm, por cada TXT hay una hoja con sus respectivos datos, misma estructura todos. Cada TXT correponde a un día de un determinado mes, en este caso solo adjunte 11, pero como puedo tener 30 o 31. 2.- La macro con la que quero que me ayuden es la que esta dentro de la hoja DatosDisco1 del libro ResultadoDatosDiscos.xlsm, esta macro lo que hace es copiarme por cada hoja, los dat…

    • 0

      Reacciones de usuarios

    • 1 respuesta
    • 1.1k visitas
  17. Buenos días; Hoy necesito ayudaexcel ? Adjunto una macro que envía por mail tabla en el cuerpo del mensaje de forma automática si necesidad de abrir el outlook. En la hoja excel tengo datos de facturas con vencimientos y lo que no se como hacer es que la macro valore las facturas cuyo vencimiento se haya cumplido y las envíe por mail. En dicha hoja estarán los vencimientos de varios clientes y solo debe enviar las facturas vencidas de todos los clientes a cada mail. -Adjunto macro explicativa. Saludos a todos y a ver si se logra entender bien MAlertaVencimiento(e).xlsm

    • 0

      Reacciones de usuarios

    • 0 respuestas
    • 1.1k visitas
  18. Started by Jlfigueroainfisa,

    Agradezco la buena voluntad de los que responden en este foro, yo tengo el siguiente problema, necesito copiar datos de una hoja (Llamada Precios) y pegarlos en otra hoja (Hoja2) (mismo libro) pero en COMENTARIOS, e intentado con la información que aparecen en los foros, pero solamente hay ejemplos para pegar comentarios en 1 sola celda. Espero me puedan ayudar , ya que llevo mucho tiempo buscando información y no encuentro nada sumado a mi poca experiencia en vba. Muchas gracias y un gran abrazo .- Adjunto ejemplo de lo que necesito. CONSULTA COPIAR DATOS A COMENTARIOS EN CELDAS.xls

    • 0

      Reacciones de usuarios

    • 3 respuestas
    • 1.1k visitas
  19. Started by Camilo0427,

    Hola, Quisiera saber si es posible guardar el archivo con un Userform en el BeforeSave?, Tengo el siguiente codigo:<br><br>BeforeSave:<br><br> Private Sub workbook_beforesave(ByVal SaveAsUI As Boolean, Cancel As Boolean)<div>Contraseña1.Show</div><div>End Sub</div><div>[/CODE] </div><br>Userform(Contraseña1):<br><br> [CODE]Private Sub Guardar_Enter()<div>CommandButton1.default = True</div><div>Pass = TextBox1</div><div>If Pass = "s" Then</div><div>TextBox1.Text ""</div><div>Contraseña1.Hide</div><div>MsgBox "Se guardo correctame…

    • 0

      Reacciones de usuarios

    • 6 respuestas
    • 1.1k visitas
  20. Hola. Gracias al gran trabajo realizado por el usuario JSD en otro hilo de este foro y mediante el cual ha facilitado acceso a un sistema muy efectivo para generar facturas en Excel, me han surgido algunas características que entiendo le dan más valor añadido, y que en mi caso particular necesito. - Posibilidad de elegir la serie de facturación además del número de la factura. - Añadir el código postal a los datos del cliente. - Añadir diferentes opciones de método de pago o número de cuenta en el que realizar el pago. Gracias anticipadas por su ayuda. Facturación 26082021JSD.xlsm

    • 0

      Reacciones de usuarios

    • 10 respuestas
    • 1.1k visitas
    • 1 seguidor
  21. Started by Janlui,

    Private Sub Capitulos_DblClick(ByVal Cancel As MSForms.ReturnBoolean) Set cat = Worksheets("tablas") t = Me.Capitulos.ListIndex + 1 r = 6 Do While cat.Cells(r, 3) <> "" If cat.Cells(r, 2) = t Then nc = cat.Cells(r, 3) Exit Do End If r = r + 1 Loop nomarea = InputBox("Cambio de Nombre a : " & nc, "Modificaciones: Areas de Seguimiento") If nomarea = vbNullString Then MsgBox "Cancel" Else 'Aqui me manda error Me.Capitulos.List(t - 1, 0) = nomarea MsgBox "Acepto" End If l = Len(nomarea) End Sub Quiero renombrar el Item del List Bo…

    • 0

      Reacciones de usuarios

    • 6 respuestas
    • 1.1k visitas
    • 1 seguidor
  22. Started by areco747,

    Buenas tardes, necesitaría por favor si me pueden pasar la macro que vaya y copie un valor de una celda de un LibroX ( abierto) y lo pegue en una celda activa de pero de otro libro con la que estoy trabajando. Este último libro no siempre es el mismo, va cambiando de nombre, o sea que el libro de Destino varia. Desde ya muchas gracias.

    • 0

      Reacciones de usuarios

    • 8 respuestas
    • 1.1k visitas
  23. Hola a todos, Me ha pasado con Userform y con una macro. Tengo varias columnas ocultas, pero tengo una macro que copia un rango de la hoja1 pega datos en la hoja2 en el rango A:H, teniendo ocultas las columnas G:H. la macro se para justo cuando se va a ejecutar el Paste. He puesto instrucción Unprotec y además mostrar columna antes del Paste y ocultar columna al final de la macro. Hasta aquí llego, no se si es normal el comportamiento o si estoy haciendo algo mal. Gracias y saludos,

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 1.1k visitas
  24. Started by Sergio,

    ¡Hola! ¿Sabéis si hay alguna forma de traducir el control dtPicker (el del calendario) para que en vez de que aparezca "Today" se pueda ver "Hoy"? Gracias

    • 0

      Reacciones de usuarios

    • 3 respuestas
    • 1.1k visitas
  25. Started by vanenqn,

    Hola a todos, quería consultar como podría hacer para cargar en un formulario los datos filtrados de mi tabla, y que se vayan mostrando los registros de a uno en ese formulario..o sea si el filtro dejó 3 registros en la hoja, que pueda ver en el formulario, primero el registro 1 toda su info, y luego poder pasar al registro 2 y ver también toda su info y luego lo mismo con el tercero... subo el archivo ejemplo para lo que consulto..espero me puedan ayudar gracias.. BaseDeDatos.xlsm

    • 0

      Reacciones de usuarios

    • 4 respuestas
    • 1.1k 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.