Saltar al contenido
View in the app

A better way to browse. Learn more.

Ayuda Excel

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

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, tengo una procedimiento que estoy modificando para contar los registros de una tabla access y verlos en un textbox de un formulario excel vba, pero el resultado siempre me sale -1 y en la tabla hay 4 registros. Sub Consulta_Registros() Dim conexion As ADODB.Connection Dim recordset As ADODB.recordset Dim Consulta As String Dim MiBase As String Set conexion = New ADODB.Connection MiBase = "\DBClientes.accdb" conexion.Open "Provider=Microsoft.ACE.OLEDB.12.0;" & "Data Source=" & Application.ThisWorkbook.Path & Application.PathSeparator & MiBase Consulta = "SELECT * FR…

    • 0

      Reacciones de usuarios

    • 6 respuestas
    • 4.7k visitas
    • 1 seguidor
  2. Buenas noches maestros. Solicito ayuda para lo siguiente: en la hoja1 tengo en la primera fila encabezados de productos: A1= ARROZ, B1= CARNE, C1= PAPAS, etc. Debajo de cada una de ellas hay cifras numericas que representan kilos. Luego en la hoja2, tengo los mismos productos pero en forma vertical y en la columna siguiente los kilos, es decir: columna B columna C ARROZ 10 CARNE 20 PAPA 5 Lo que necesito hacer es capturar uno a uno los productos de la columna B de la hoja2 y buscarlos la fila de encabezados de la hoja1 para conocer su posición, y en la fila de abajo pegar la cantidad de kilos de la columna C…

    • 0

      Reacciones de usuarios

    • 4 respuestas
    • 4.7k visitas
  3. Buenas, es mi primer post y bueno me voy adentrando a la programación en excel. tengo una duda es que yo tengo un archivo en el cual aplico este codigo para borrar una columna y una fila innecesaria ya que yo solo necesito los datos para despues subirlo aun servidor sql.. Sub prueba() ' ' 'prueba ' ' Rows("1:1").Select Selection.Delete shift:=x1UP Columns("A:A").Select Selection.Delete shift:=x1toleft Selection.NumberFormat = "yyyy-mm-dd;@" End Sub [/CODE] el problema es que en la tabla la columna "A" hace el cambio de formato pero para que se vea visible debo darle "f2+enter" y asi consecutivamente hasta que se actualize todos los campos y hablamos de …

    • 0

      Reacciones de usuarios

    • 6 respuestas
    • 4.7k visitas
  4. Started by JuanP,

    Hola, antes de nada, quiero decir que lo de búsqueda inteligente lo he llamado así porque la información que he visto lo así lo llaman, pero a pesar de ver como realizan este tipo de búsqueda en un Combobox no consigo hacerlo funcionar. Tengo un formulario desde donde puedo realizar dos tipos de búsqueda, uno de ellos es mediante un Combobox, donde intento que al escribir una parte de texto y se muestre el listado con los nombres que contiene es texto. He visto que para poder conseguir este resultado hay que configurar MatchEntry = 2 – fmMatchEntryNone, pero tampoco consigo nada. Os dejo el archivo por si alguien sabe cómo mostrar este tipo de información en u…

    • 0

      Reacciones de usuarios

    • 16 respuestas
    • 4.7k visitas
  5. Buenas tardes, Consulte varios temas y el que encontré mas cercano a mi situación fue el de la siguiente macro: Sub Fusionar() Application.ScreenUpdating = False Application.EnableEvents = False Sheets("CONSOLIDADO").Cells.ClearContents fila = 1 For Each Hoja In Worksheets If Hoja.Name <> "Consolidado" Then Uf = Hoja.Cells.Find("*", SearchOrder:=xlByRows, SearchDirection:=xlPrevious).Row Hoja.Range("A6:F" & Uf).Copy Sheets("CONSOLIDADO").Range("A" & fila & ":F" & fila + Uf - 1) fila = fila + Uf End If Next Application.EnableEvents = True Exit Sub End Sub Pero me tira un error 91, variable u obj…

    • 0

      Reacciones de usuarios

    • 0 respuestas
    • 4.7k visitas
  6. Started by R0CI0,

    Buenas tardes a todos! He estado curioseando por el foro y por internet largo y tendido y no he sabido encontrar una solucion a lo que estoy buscando. O por lo menos no la he sabido aplicar bien. De estos dos temas he logrado extraer lo poco que he hecho, pero que está mal resuelto por mi parte, y no se como seguir: https://www.ayudaexcel.com/foro/macros-programacion-vba-10/solucionado-boton-que-actue-igual-que-guardar-como-22639/[/HTML] [HTML]https://www.ayudaexcel.com/foro/macros-programacion-vba-10/pendiente-guardar-sola-hoja-libro-22283/[/HTML] Lo que estoy intentando conseguir es lo siguiente: - Tengo un libro protegido contra escritura con multitud de ho…

    • 0

      Reacciones de usuarios

    • 15 respuestas
    • 4.7k visitas
  7. Buenas tardes, Alguien me puede regalar por favor un código Vba que me pueda ayudar a copiar graficos de excell a una presentación power point, Agradezco alguien me ayude a plantear como escribir esta macro. Gracias por su ayuda.-

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 4.7k visitas
  8. Buenas y Felices Fiestas!!!! Busco una Macro que elimine Filas en base a un Texto “X”, elimine desde ese texto incluido 85 Filas, estarán ahora en la columna A. Saludos….

    • 0

      Reacciones de usuarios

    • 33 respuestas
    • 4.7k visitas
    • 3 seguidores
  9. Hola Tengo una macro que selecciona unas ciertas hojas de todo el libro y me las convierte en un pdf, siempre hasta ahora han sido las mismas. Mi intención es que una de las hojas de la selección sea variable, es decir, que en función del dato (dígase año) ubicado en una celda de la hoja de referencia (Hoja Portada Celda C1), seleccione la hoja de ese año, es decir, que si en C1 dice 2018, la hoja a seleccionar e incorporar en el pdf sea la 2018 y si dice 2017 incorpore la 2017 y etc.. Esta es un trozo de la rutina que tengo y el problema lo tengo en cómo le dijo que me seleccione e incorpore la hoja con el mismo valor de la hoja Portada Celda C1 (zona en negrit…

    • 0

      Reacciones de usuarios

    • 4 respuestas
    • 4.6k visitas
  10. Started by afigueroaf,

    Estimados gusto en saludarlos, Estaba fuera de las pistas, pero he vuelto, y quería ver la posibilidad que me puedan dar una mano con lo siguiente: Tengo una Macro que actualiza información proveniente de distintos sitios web, el problema es que muchas veces algunos sitios se encuentran muy lentos, o simplemente no disponibles, entonces la Macro queda eternamente esperando respuesta. Es posible indicarle al Query, que continúe con el siguiente sitio después de un tiempo determinado, para evitar que la Macro se demore demasiado? Gracias, Adjunto código: Sub WebDataImport() On Error GoTo ControlErr Dim strURL As String Dim strDestino As S…

    • 0

      Reacciones de usuarios

    • 18 respuestas
    • 4.6k visitas
  11. buenos dias: les envio un archivo en TXT en donde al oprimir un optionbutton me habilita un inputbox donde se solicita digitar un numero, pero al dejar vacio y dar aceptar o dar boton cancelar me sale "ERROR 13 NO COINCIDEN LOS TIPOS" en la siguiente linea del archivo adjunto. CANTPEQ = InputBox("Ingrese la cantidad a enviar", "CANTIDAD A ENVIAR") Agradezco su ayuda MUESTRA.txt

    • 0

      Reacciones de usuarios

    • 8 respuestas
    • 4.6k visitas
  12. Hola Amigos de AyudaExcel; No encuentro la forma de lograr que la altura de la fila 3 del adjunto sea tal que permita ver todo el contenido de la misma a menos que la cambie en forma manual. La pregunta es: ¿Se puede hacer una macro para cambiar/aumentar la altura de la fila 3, permitiendo ver todo el contenido de la misma? De antemano gracias por la ayuda que me puedan dar. Gabriel Altura de la Fila.xls

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 4.6k visitas
  13. Hola a todos y muchas gracias de antemano. mi problema es el siguiente: Quiero fitlrar una tabla dinamica por fechas en funcion del valor que contienen dos celdas: Adjunto un fichero como ejemplo El campo a filtrar se llama Dia2 y las celdas b1 y b2. Esto es lo que he intentado: Sub filtrarfecha() Sheets("td").Select ActiveSheet.PivotTables("Tabla dinámica1").PivotFields("Dia2").ClearAllFilters ActiveSheet.PivotTables("Tabla dinámica1").PivotCache.Refresh a = Range("b2").Value b = Range("b3").Value ActiveSheet.PivotTables("Tabla dinámica1").PivotFields("Dia2").PivotFilters.Add _ Type:=xlDateBetween, Value1:="a", Value2:="b" End Sub Buscando por google he en…

    • 0

      Reacciones de usuarios

    • 0 respuestas
    • 4.6k visitas
  14. Started by jevizente,

    Hola compañeros: Tengo un formulario que contiene múltiples comboboxes. Tengo definidos una serie de NOMBRES en la hoja de cálculo y asigno en la programación de cada uno de los comboboxes mediante su propiedad Rowsource el nombre que le corresponde. De esta manera cuando añado a la lista un elemento, automáticamente lo tengo disponible en el combobox la siguiente vez que ejecute el formulario. Todo parece funcionar correctamente excepto cuando ejecuto otra hoja de Excel (incluso una nueva hoja sin datos). Si, por ejemplo tengo una hoja de excel nueva abierta y ejecuto mi hoja excel con mi formulario, no me coge los datos en los comboboxes. Es com…

    • 0

      Reacciones de usuarios

    • 4 respuestas
    • 4.6k visitas
  15. Started by soda1206,

    Buenas tardes foreros, he buscado información en la web para contar celdas según su color, pero la función "CONTARCOLOR" no me funciona, alguien sabe cómo puedo contar celdas con un color específico en un rango dado??

    • 0

      Reacciones de usuarios

    • 4 respuestas
    • 4.6k visitas
    • 1 seguidor
  16. Hola, buenos días a todos; -Soy nuevo en este foro, disculpen si me equivoco en algo. -He subido una macro la cual tiene un formulario con una serie de botones de opción. A mi la que mas me interesa es la que pone "sizable". Si activo esta opción y tiro de un lateral de la ventana pues el formulario anchea o encoge según mueva el ratón. Esta opción me gustaría implementarla al segundo formulario que pone "frm_Ajustable". Este formulario está vacio no tiene ninguna macro para no entorpecer el trabajo. Si tienen alguna duda no duden en comunicarmelo. Lo dicho buenos días y semana a todos. Redimensionar.xls

    • 0

      Reacciones de usuarios

    • 16 respuestas
    • 4.6k visitas
    • 1 seguidor
  17. Started by cvina,

    hola a todos Se me presenta la necesidad de generar codigos de barras para unas etiqutas y quisiera automatizar el proceso, si alguien me pudiese ayudar el proceso seria : se introduce un rango entre dos numeros de 9 digitos en una plantilla, el sistema crearia aleatoriamente tantos numeros como se hayan solicitado entre el rango generado aleatoriamente para a partir de estos numeros generar los codigos de barras con la opcion de imprimir al pulsar imprimir se imprimirian tantas etiqutas como numeros se hayan creado CODIGOS DE BARRAS.xlsx

    • 0

      Reacciones de usuarios

    • 7 respuestas
    • 4.6k visitas
  18. Hola Buenos días: Estoy intentando realizar una macro para que realice un fórmula que copie en una columna B una formula, hasta la misma fila de la columna anterior A (la columna A dependiendo de los datos que vuelco son siempre diferentes y por eso la dificultad). Pero no doy con la forma de realizarlo. Alguien podría explicarme como puedo hacerlo. Muchas Gracias.

    • 0

      Reacciones de usuarios

    • 5 respuestas
    • 4.6k visitas
  19. Started by Torpedo63,

    Buenas: Estoy intentando programar para que se copie automáticamente una tabla de excel en un documento word determinado, pero tengo dos problemas: 1. Me gustaría que se copiara en un lugar determinado del doc word, no al principio. 2. Se pega como Imagen (Metarchivo mejorado) que es lo quiero pero lo hace en un tamaño pequeño, no llena todo el ancho (que es lo que me interesa). Sub Excel_aWord() 'Copia el rango de Excel seleccionado en un nuevo documento Word Range("b4", "y30").Select 'copiar rango selecionado Selection.Copy 'Crea nueva aplicación Word Dim swMSWord As Word.Application Dim wDoc As Word.Document Set swMSWord = New Word.Application With swM…

    • 0

      Reacciones de usuarios

    • 0 respuestas
    • 4.6k visitas
  20. Started by 96andres96,

    Buenas. Quisiera hacer una macro para guardar un rango de celdas en un PDF cuando se cliquee en un botón. La macro en sí, se hacerla. El problema viene en que el rango de celdas seleccionado es grande (no mucho), pero lo suficiente como para que cuando se genere el PDF se guarde en varias hojas. Por tanto, lo que me gustaría que me ayudasen a conseguir es a que la información del rango de celdas se redimensione para que quepa en una única hoja del PDF. ¿Es posible? Gracias.

    • 0

      Reacciones de usuarios

    • 6 respuestas
    • 4.6k visitas
    • 2 seguidores
  21. Started by xadona,

    Hola a todos, tengo una macro de excel que me genera un informe a Word, el proceso se basa en copiar la celda y pegarla en el word que genera la Macro. Lo que quiero realizar es que cuando la celda no tenga ningún valor o no tenga nada escrito (ya que algunas son funciones logicas donde un resultado sera un "texto" o "" y en otras simplemente no habra nada escrito) solamente quiero que la macro copia y pega dicha celda cuando se tenga texto. Esta es la Macro: ------- Sub Botón44_AlHacerClic() ' Botón44_AlHacerClic Macro ' Macro grabada el 26/06/2012 por nn ' Set WordApp = CreateObject("Word.Application") Set WordDoc = WordApp.Documents.Add Worksheets("Auditoria S…

    • 0

      Reacciones de usuarios

    • 1 respuesta
    • 4.6k visitas
  22. Started by Salvador1,

    Hola: Estoy tratando de conseguir, en el programa de contabilidad SAP, acceder a sus menús lo más rápidamente posible creando "accesos directos" con macros. Éste código abre el Sap (cuyo nombre lo coge de la celda activa según la penúltima línea), ingresa el usuario, clave y algunos enter y tabulaciones hasta llegar al campo donde se pone el nombre de lo que se llama transacción (por ejemplo FB03 es para visualizar una factura). La orientacion que neceisto ahora sería cómo hacer para que desde dentro del programa, o sea, una vez abierto (la macro lo primero que hace es abrirlo), puediera cambiar de transacción suponiendo que las más frecuentes las tuviera escritas en…

    • 0

      Reacciones de usuarios

    • 3 respuestas
    • 4.6k visitas
  23. Buenos Días: Se me esta presentando un error al ejecutar un formulario, el error es: Se ha producido el error -2147467259 (80004005) en tiempo de ejecución : Error no especificado . Quien me pueda colaborar o guiar como solucionarlo. Este error me sale cuando ejecuto esta procedimiento en el TRMAnt.SetFocus Private Sub VlrProfAnt_afterupdate() If Not IsNumeric(VlrProfAnt.Value) And VlrProfAnt.Value <> vbNullString Then VlrProfAnt.SetFocus MsgBox "El Valor ingresado no es numerico" Else VlrProf = VlrProfAnt.Value TRMAnt.SetFocus End If End Sub Muchas Gracias por su ayuda para saber como corregirlo.

    • 0

      Reacciones de usuarios

    • 0 respuestas
    • 4.6k visitas
  24. Buenos Días compañeros, Soy nuevo en programación en VBA y estoy un poco perdido, agradeceria que me ayudarais en este tema. Estoy creando una macro donde necesito que el usuario interactue. Es decir la macro empieza, y con un msgbox le pide al usuario que introduzca unos valores a partir de la celda C7. El usuario tiene que copiar una información que tendrá guardada donde el quiera, a partir de esta celda C7 y cuando lo del al boton acceptar del msgbox me gustaria que la macro se reanudará en el puesto donde se paro. esto es possible?

    • 0

      Reacciones de usuarios

    • 6 respuestas
    • 4.6k visitas
  25. Started by MarcoP,

    Buenas noches. Por favor requiero ayuda para dar formato condicional a una celda de entre 10 celdas, debe ser fondo negro y letra roja. (Las celdas tienen ya diferentes colores CON FORMATO CONDICIONAL que configuré con una macro, pero requiero señalar la celda con un color especial que resalte la ubicación. La celda a11 indica dónde estará ubicada la CELDA que deberá tener ese formato diferente. Ejemplo: a1 6 3 5 0 9 2 8 7 1 4 a11 3 Agradecería la ayuda que se me brinde. Marco Porras. PD: Publiqué en dos

    • 0

      Reacciones de usuarios

    • 6 respuestas
    • 4.6k 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 sergio@ayudaexcel.com

Información adicional: Encontrarás más información en la política de privacidad.
 

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.