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. Started by nachopobleteneculqueo,

    Estimados Muy Buenas tardes Esperando que se encuentren muy bien, comentó que el motivo de este tema es para solicitar cordialmente su generosa ayuda con este tema. trabajo en el área de ventas y me gustaría que cada cotización que realice se guarde automáticamente en otra pestaña (denominada seguimiento). Ejemplo: Realizó la cotización 1 para un x cliente, esta cotización posee 10 artículos por ende estos 10 artículos deberían agregarse a la pestaña seguimiento Realizó la cotización 2 para otro cliente, esta cotización posee 25 artículos por ende estos 25 artículos deberían agregarse a la pestaña seguimiento Cuando revise la pestaña se…

    • 0

      Reacciones de usuarios

    • 0 respuestas
    • 602 visitas
  2. Hola amigos, paso a explicarles un tema que me surgió con mi software comercial. El sistema tiene un reconocimientos de códigos nuevos al actualizar una lista de precio. Al actualizar me pregunta el sistema si deseo generar un excel con los artículos nuevos. Al guardarlo, veo que me genera la misma planilla de importación que uso habitualmente pero la columna descripción no. Quiero saber como puedo tomar esa descripción desde el archivo original. Adjunto archivos de ejemplo EXPORTA_SISTEMA.xlsx libroOriginal.xlsx

    • 0

      Reacciones de usuarios

    • 6 respuestas
    • 1.1k visitas
  3. Buenas tardes, Estoy tratando de armar un archivo donde al escribir los códigos de ciertos productos este los busque en páginas web y me traiga los precios asociados, la macro funciona ahora como esta pero el problema ocurre cuando un código no lo encuentra en la página me escribe el precio del código anterior. Alguien me puede ayudar a que si no encuentra ese código en la página el valor quede en blanco? Este es el código que estoy usando. Sub test() Dim IE As New InternetExplorer Dim precio1, precio2 As Variant Dim doc As HTMLDocument Range("B2:C1000").Clear Cantfila = Sheets("Hoja1").Range("A" & Rows.Count).End(xlUp).Row For …

    • 0

      Reacciones de usuarios

    • 9 respuestas
    • 2.1k visitas
    • 1 seguidor
  4. Started by Galactico,

    Hola, como estan? estoy tratando de utilizar una macro para realizar búsquedas en internet (google específicamente), pero no logro dar con el texto del código fuente para insertarlo en la linea de código. agradecería mucho que me dieran una mano, gracias Sub LoginGOOGLE() Dim IE As Object Set IE = CreateObject("InternetExplorer.Application") With IE .Top = 0 .Left = 0 .Height = 1000 .Width = 1250 .Visible = True .Navigate "https://www.google.com/" Do While .Busy Or Not .ReadyState = 4: DoEvents: Loop .Document.getelementbyid("gLFyf gsfi").Value = "buscar lo que sea en goog…

    • 0

      Reacciones de usuarios

    • 9 respuestas
    • 7.4k visitas
  5. Started by eoscar88,

    Hola buen día, acudo a los expertos a ver quien me puede apoyar, requiero hacer un control de inventario, en una hoja de calculo tengo los datos de insumos con entradas, salidas y el stock (inventario), requiero de una macro que me permita crear vales y que estos se vayan sumando en la columna de salidas de la hoja de calculo inventario, se que es algo muy complicado para mi, espero puedan apoyarme, saludos Inventario.xlsx

    • 0

      Reacciones de usuarios

    • 15 respuestas
    • 5.1k visitas
  6. Hola a todos!! Soy bastante principiante en las macros y no se cómo resolver esta. Tengo un libro origen que actualizo diariamente las filas ( a veces tengo que quitar registros pero la mayoría añado) y quiero trasladar esa misma información a otro fichero histórico con las mismas columnas a otra ruta. Me gustaría que en el libro destino tuviera un botón para importar los nuevos datos del origen si tener. Por favor a ver si me pueden ayudar.Millones de gracias de antemano. Conseguí esta macro por internet y la modifique para mi pero no me funciona. Me pone error sobre todo en el procedimiento que marco en verde. Sub Import…

    • 0

      Reacciones de usuarios

    • 11 respuestas
    • 2.3k visitas
  7. Started by oaseijas39,

    En la Imagen la descripción del problema.

    • 0

      Reacciones de usuarios

    • 1 respuesta
    • 1.4k visitas
  8. buen dia, una pregunta, ¿como hago para evitar que un textbox tenga como requisito llenar cierta cantidad de caracteres? es decir; revisar antes de cualquier accion que se hayan puesto en un textbox la cantidad de caracteres especifica, es decir que no falte uno de revisar antes de cualquier accion de antemano agradezco la atencion prestada al presente tema que no falte ningun caracter en textbox.xlsm

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 982 visitas
  9. Started by Alfonso5597,

    Hola amigos. de nuevo con ustedes, a ver si me pueden ayudar con esto, me lleva dias y no doy con la tela, les explico, en el form puedo buscar y modificar sin problemas, el asunto es que cuando modifico la imagen se modifican todas, no solo la que tengo que editar, para que funcione hay que darle al botón 3 Les agradezco su ayuda Cordiales saludos Imagen en Form

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 1k visitas
    • 1 seguidor
  10. Started by Milton Cordova,

    saludos estimados masters por favor me pueden indicar como debo ingresar el rango en el que se debera actualizar las formulas del calculo respectivo. Para este ejm tengo el rango C5:C10 al ingresarlo asi me da el objeto no admite esta propiedad o metodo, informo que es para excel 2003. Gracias Actualizar con F2+enter.xls

    • 0

      Reacciones de usuarios

    • 4 respuestas
    • 6.3k visitas
    • 1 seguidor
  11. El gran Gerson Pineda me apoyo con la instrucción para eliminar del listbox y hoja en modo multiselect la cual integre a un userform que tengo, donde al eliminar del listbox sin usar el filtro o filtrando me arroja un error en la esta instrucción donde devuelvo a la hoja inventario la cantidad del producto eliminado del listbox: Dim NombreHoja As String NombreHoja = "Inventario" 'Buscamos la última fila 'EN EL SIGUIENTE ME ESTOY REFIRIENDO A LA HOJA SEGUN EL SECTOR fila = 2 Do While ThisWorkbook.Sheets(NombreHoja).Cells(fila, 1) <> "" fila = fila + 1 Loop Final = fila 'CON ESTE CODIGO ESTARE RESTANDO "1" AL FOLIO EN CASO SE REGRESE …

    • 0

      Reacciones de usuarios

    • 3 respuestas
    • 816 visitas
  12. Started by guerodiaz,

    Hola amigos del foro tengo la siguiente macro Private Sub Worksheet_Change(ByVal Target As Range) If Target.Cells.Count > 1 Then Exit Sub If IsNumeric(Target) And Target.Address = "$AM$4" Then Select Case Target.Value Case 1, 2, 3, 4, 5, 6, 7 ActiveSheet.Unprotect Range("h11").Select Target.Locked = True Target.FormulaHidden = True ActiveSheet.Protect Case 9 ActiveSheet.Unprotect Range("h11").Select Target.Locked = False Target.FormulaHidden = False ActiveSheet.Protect End Select End If End Sub pero al seleccionar cualquiera de los case me mar…

    • 0

      Reacciones de usuarios

    • 3 respuestas
    • 2.7k visitas
  13. Started by Málaga,

    Hola buenas tardes a todos, Estoy empezando a realizar programación VBA e estoy intentando hacer un Cronómetro en un libro. Pero me estoy encontrando con un problema de error, y no se que más hacer, haber si podéis echarme un cable. Lo que me gustaría conseguir sería, que cuando se abra el libro empiece a contabilizar el tiempo y cuando se cierre el libro registre el tiempo de uso. Cuando se vuelva a abrir nuevamente el libro siga registrando los tiempos de uso, estoy a medio camino de conseguirlo, pero me da algunos errores: El libro tiene dos hojas, y cuando estoy en la hoja 1 que es donde se tiene que registrar el tiempo todo bien más o menos…

    • 0

      Reacciones de usuarios

    • 5 respuestas
    • 1.5k visitas
  14. Started by Lobito,

    Muy buenas a todos: Os sigo desde hace ya algunos años y esta pagina a llegado a ser la mejor herramienta que he encontrado al momento de programar en VBA, os felicito por ella, y por los aportes que han sido realmente enriquecedores por los conocimientos aportados por todos. Pero, en esta ocasión acudo a vosotros a fin de encontrar solución al problema que tengo con VBA en Excel 2019 "Como puedo obtener las características del Sistema Operativo, específicamente con relación a la configuración general: Hora (Formato) Fecha (Formato) Separador Númerico Separador de Tablas etc. Posiblemente ya publicaron algún artículo al r…

    • 0

      Reacciones de usuarios

    • 3 respuestas
    • 808 visitas
  15. Buenas tardes Tengo una hoja para el registro de vencimiento de facturas, del cual hice un formulario para mayor facilidad, sin embargo es para 3 compañías de la cual solo se escoge 1 por documento, y deseo que en relación a esa escogencia sea la búsqueda que hace de clientes, en las diferentes pestañas, la idea es que con solo el código, y ponga el nombre del cliente, la verdad con mi limitado conocimiento lo pude hacer con una sola, pero no con las demas, he tratado de varias formas y no he podido, les agradezco su ayuda. adjunto el archivo. Registro Prueba.xlsm

    • 0

      Reacciones de usuarios

    • 3 respuestas
    • 827 visitas
  16. Hola, Voy a intentar plantear de nuevo un problema que tengo solucionado pero no de la mejor forma ya que es muy muy lento. Os adjunto un excel de Ejemplo con 2 hojas, la primera hoja contiene los datos tal como salen de mi ERP, la segunda hoja contiene los datos tal como yo los necesito para poder trabajar con ellos como si de una base de datos se tratase. Lo que necesito hacer es que sea más eficiente el código que tengo ya que cuando lo utilizo con archivos mas grandes tarda demasiado. En el archivo está el código que estoy usando , para que quede más claro he puesto con fondo amarillo las filas que deberían ser eliminadas y en naranja pongo el text…

    • 0

      Reacciones de usuarios

    • 8 respuestas
    • 1.5k visitas
  17. Hola a todos, mi nombre es A.Maurizio Y mi problema es este: En una hoja de Excel tengo 6 (Formas) con el oro interno de las imágenes de Misceláneos. Entonces encontré este listado en Internet: VBA: Opción explícita Opción explícita Sub Export_Images () Dim MyChart como cadena, MyPicture como cadena, oShape como variante Dim PicWidth As Long, PicHeight As Long Dim strImageName Dim oDia Dim oChartArea Application.ScreenUpdating = False En error GoTo finaliza MyPicture = Selection.Name Con seleccion PicHeight = .ShapeRange.Height PicWidth = .ShapeRange.Width Terminar con Char…

    • 0

      Reacciones de usuarios

    • 0 respuestas
    • 1k visitas
    • 1 seguidor
  18. Started by lphant,

    Buenas tardes a tod@s; Esta tarde me ha surgido otro problemita que …..por más vueltas que doy no sé cómo solucionarlo (si se puede, que me está oliendo que no ). Esto haciendo una consulta de Access a Excel por SLQ contando con 2 condiciones, la condición 1 es si tiene el dato xx y la condición 2 es que no tenga el dato xx, el problema que tengo es que en la columna de la condición 2, hay celdas en blanco que debería de contar y no las cuenta, solo cuenta lo que tiene dato. He probado de varias formas pero no doy con ello. Os adjunto la línea que tengo. Query = "Select count (Motivo) from consulta where Motivo ='CIERRE ROTO' And tipo_hnc …

    • 0

      Reacciones de usuarios

    • 5 respuestas
    • 1.4k visitas
  19. Invitado Juan Pelfort
    Started by Invitado Juan Pelfort ,

    Hola, tengo este pequeño código, pero... al ejecutarlo se me queda el puntero del ratón (en círculo)girando y tengo que salir con CERRAR SESIÓN. Podéis ayudarme de forma muy sencilla ? mi código es este: Private Sub WorkSheet_Change(ByVal Target As Excel.Range) If Range("$L$7").Value = "1" Then Call Macro18 End If End Sub Sub Macro18() Application.ScreenUpdating = False Dim Str1 As String Dim Str2 As String Dim resultado1 As Long Str1 = Range("C8") Str2 = Range("L9") resultado1 = StrComp(Str1, Str2, vbTextCompare) Range("N9") = resultado1 + 1 Sheets("Hoja1").Select Application.ScreenUpdating = True Range("A1").Select End Su…

    • 0

      Reacciones de usuarios

    • 4 respuestas
    • 3.2k visitas
  20. Started by KAITEKI,

    Buenas tardes. Estoy intentando hacer una hoja que sirva para el juego de "Bingo". Falta todavía implementarle varias cosas, como por ejemplo la comprobación de la línea y el bingo, pero por ahora, encuentro unos pequeños inconvenientes, que no sé cómo solventar. Aparte de que me he vuelto loco para que el wait funcione medianamente bien, porque dependiendo de dónde coloque las líneas y dónde coloque el comando application.wait, los números se cantan y aparecen en la pantalla a su bola. Parece que ahora con la estructura que tengo, funciona medianamente bien. Me surgen dos problemas: Uno es que si nada más empezar el sorteo, doy a ESCAPE, …

    • 0

      Reacciones de usuarios

    • 3 respuestas
    • 4.6k visitas
  21. Started by JMANGUIANO1,

    Hola buen dia, estube trabajando con el archivo que encontre en estos foros, me doy cuenta que la funcion Trim copia el valor anterior y por eso no me dan los resultados que se suponen deben de ser correctos, habria alguna forma para que asignara un valor como n/a por ejemplo para datos y 0.00 para cantidades, anexo el archivo de ejemplo en el cual se daran cuenta que los complementos de pago (P) no deben de poseer cantidades sino 0.00 por ejemplo, de antemano agradezco su tiempo. Saludos CFDI 3.3(práctico).xlsb

    • 0

      Reacciones de usuarios

    • 0 respuestas
    • 1.1k visitas
  22. Started by KAITEKI,

    Buenos días. Soy nuevo en el foro (ya me pasé por el correspondiente hilo de presentaciones) y llevo varios días dándole vueltas a una hoja que estoy haciendo y no consigo hacer lo que quiero. Adjunto una hoja muy sencilla (resumen de una más complicada) y que básicamente consiste en que excel comience a cantar en voz alta una serie de números, del 1 al 10. El problema que me surge es que no consigo parar la ejecución del código mediente métodos normales, es decir, mediante algún boton de "pausa" y otro de "reanudación", sí se para mediante "Esc", pero no me permite reanudarlo después. Si pulso "Escape", sale el cuadro de aviso de que se ha producido el err…

    • 0

      Reacciones de usuarios

    • 8 respuestas
    • 6.8k visitas
  23. Hola amigos tengo ya un buen de tiempo tratando de solucionar este detalle que tengo con una macro que busca datos por fecha y texto, les dejo el archivo con las instrucciones necesarias para su análisis y espero contar con su ayuda. gracias https://mega.nz/#!XMRR0KwJ!XTEuNYjMjwzv79l1OmOn9P9PSi_bPx8U8fSAevHrxyw

    • 0

      Reacciones de usuarios

    • 3 respuestas
    • 3.3k visitas
  24. buen dia el problema que tengo es el siguiente: ocupó este código para registrar información en una base de datos de excel, el problema que tengo es que a la hora de hacer funcionar el código por medio de un botón, tarda mucho en registrar porque la base de datos ya tiene 5,345 registros. quiero suponer que el problema está a la hora que busca la ultima fila vacía, hasta que la encuentra registra. Dim ifila As Long Dim ws As Worksheet Set ws = Sheets("BDPAGOS") ifila = ws.Cells(Rows.Count, 1).End(xlUp).Offset(1, 0).Row ws.Cells(ifila, 1).Value = Me.NOFACTURA.Value ws.Cells(ifila, 2).Value = VBA.CDate(Me.FECHAPAGO.Value) ws.Cells(ifila, 3).Value = Me.BANC…

    • 0

      Reacciones de usuarios

    • 22 respuestas
    • 3.3k visitas
  25. Started by Lis Chu,

    Buenos días. Por favor su amable apoyo de siempre. Con que fórmula en dax puedo hacer para que me de solo el % de un criterio. Ejemplo Tengo los siguientes datos Casa cantidad 50 Hotel cantidad 50 Total.50 Esto en Excel me da que casa es el 50 %. Y eso lo divido entre casa y el total Solo necesito ese dato pero en power bi? Recién estoy empezando a usar power bi. Muchas gracias por su apoyo.

    • 0

      Reacciones de usuarios

    • 1 respuesta
    • 2.2k 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.