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

    buenas tardes amigos! En esta ocacion preciso de su ayuda para resolver esta macro. Tengo dudas respecto a como hacer una sumatoria por rangos... Tengo mi hoja con varias columnas, algunas vacias, algunas con informacion, me gustaria que buscara en la columna B y cada que encuentre un NA aplicar la sumatoria en esa fila y que sume el rango comprendido. Despues se vaya por cada NA y sume lo que esta en ese rango. Nunca tengo el mismo numero de columnas ni de filas, unicamente se delimitaran los datos por cada NA que encuetre. Anexo ejemplo para que quede un poco mas claro, de antemano muchas gracias por su tiempo y esfuerzo. Saludos Gerardo Sumatoria.xls

    • 0

      Reacciones de usuarios

    • 8 respuestas
    • 3.8k visitas
  2. Buenas compañeros, un gran placer saludarles. Les escribo una duda que tengo, ojalá me puedan ayudar. ¿Cómo podría filtrar el valor de una variable que tengo definida en el código y a su vez tengo indicado su nombre en una celda de excel? Por ejemplo: La variable a=12 (en el código) Si escribo "a" en una celda como puedo poner el filtro para que filtre el valor "12" y no el valor "a". Es decir, que el criterio de filtro sea el valor de la variable a, que he indicado en la celda. .Range("A1:D200").AutoFilter field:=1, Criteria1:=(El valor de la variable a) Muchas gracias a todos por su valiosa ayuda. Un abrazo

    • 0

      Reacciones de usuarios

    • 5 respuestas
    • 3.8k visitas
  3. Started by nolramzaid,

    Hola estimados. Tengo una tabla en la cual realizo diferentes acciones desde un formulario, en este punto pretendo filtrar a travez de un CheckBox desde un formulario 3 campos de una columna, esto lo he logrado con el siguiente código Private Sub rojo_Click() If rojo.Value = True Then ActiveSheet.Range("$A$4:$Q$19").AutoFilter Field:=3, Criteria1:="rojo" Else ActiveSheet.Range("$A$4:$Q$19").AutoFilter Field:=3 End If End Sub Private Sub CheckBox29_Click() If CheckBox29.Value = True Then ActiveSheet.Range("$A$4:$Q$19").AutoFilter Field:=3, Criteria1:="amarillo" Else ActiveSheet.Range("$A$4:$Q$19").AutoFilter Field:=3 End…

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 3.8k visitas
  4. Started by Maverick_14,

    Hola a todos, escribi una macro para que cuando apieto un boton en un textbox me tenga que aparecer la ultima fecha ingresada, pero no funciona, lo dejo por si alguien me puede dar una mano y decirme que estoy haciendo mal. yo creo q es xq deberia transformar las fechas a otro tipo de dato para comparar o compar los años, los meses y los dias por separado. Muchas gracias! Prueba Visual.rar

    • 0

      Reacciones de usuarios

    • 3 respuestas
    • 3.8k visitas
  5. Buenas Tardes, Alguien me puede ayudar a que al momento de apretar el boton "Eliminar", este permita elimina más de una fila del listbox. Además al momento de usar el textbox como filtro que también pueda eliminar más de una fila filtrada del listbox. Adjunto mi archivo. Gracias! PRUEBA.xlsm

    • 0

      Reacciones de usuarios

    • 20 respuestas
    • 3.8k visitas
    • 1 seguidor
  6. Started by camiluchis,

    verán, estoy haciendo un programa en el cual debo insertar una imagen (algo así como una base de datos) y lo que quisiera hacer y no me sale es que en otra celda me ponga el nombre de la imagen seleccionada. adjunto un ejemplo del archivo que estoy haciendo a ver si alguien me puede ayudar. desde ya muchas gracias! ejemplo.rar

    • 0

      Reacciones de usuarios

    • 1 respuesta
    • 3.8k visitas
  7. Hola. Tengo el siguiente inconveniente, necesito abrir una nueva ventana con un libro distinto y requiero que lo haga en una hoja en especifico. Como podría hacer. Yo tengo la macro para abrir la ventana nueva con el libro que deseo pero me falta solo la linea de codigo que me haga que el libro se abra en la hoja deseada. Esto es lo que tengo: Sub llevar () Workbooks.Open ("C:\Mis documentos\CARPETA\Ficha.xlsm") Application.WindowState = xlmaximized End Sub Gracias a los que me puedan ayudar.

    • 0

      Reacciones de usuarios

    • 3 respuestas
    • 3.8k visitas
  8. Hola amigos, ando buscando una macro para cerrar un libro abierto pero oculto (Solo se ve el userform) después de un tiempo inactivo, encontré varios en la red pero solo funcionan cuando el libro esta visible. Anexo uno de ellos. cerrar automaticamente.xlsm

    • 0

      Reacciones de usuarios

    • 21 respuestas
    • 3.8k visitas
    • 1 seguidor
  9. Started by peperoni,

    Buenas tardes, Ante todo, muchas gracias por vuestra página Web, que me ha permitido avanzar bastante en el fascinante mundo de la programación VBA, pero no lo suficiente, ya que no fui capaz de resolverla esta duda que les envío a continuación: Tengo una serie de datos de diferentes respuestas, agrupados por columnas (a partir de la D) y quisiera obtener sus modas, es decir el valor que más se repite, en función de que la clase a la que pertenecen, la cual la tengo definida en la columna D. [TABLE] [TR] [TD]Columna [/TD] [TD] D [/TD] [TD]E [/TD] [TD]F [/TD] [TD]G [/TD] [TD]H [/TD] [TD]I [/TD] [TD]J [/TD] [TD]K [/TD] [TD]L [/TD] [/TR] [TR]…

    • 0

      Reacciones de usuarios

    • 6 respuestas
    • 3.8k visitas
  10. Buenas tardes para todos: Tengo una hoja de Excel donde la celda A1 tiene la fórmula "=1+1", que tiene como resultado el número 2. A través de VBA, sin usar barra de herramientas, quiero copiar ese valor 2 en la celda B1, pero no la fórmula. Actualmente, el sistema sí copió lo que hay en la celda A1, pero copió la fórmula, yo necesito que copie el valor. Ya he leído muchas páginas en Internet, entre ellas, las siguientes: Copy value not formula excel vba Copiar el resultado de una formula y pegarlo como valor automaticamente He probado con los siguientes métodos, que no me han funcionado como lo necesito: .PasteSpecial Paste:=xlPa…

    • 0

      Reacciones de usuarios

    • 7 respuestas
    • 3.8k visitas
    • 1 seguidor
  11. Hola muchachos, quería solicitarles una ayuda con lo siguiente: Tengo que filtrar 50 tablas dinámicas desde un listado, estas tablas se filtran por "Zona" (Lo primero que hice fue copiar 50 veces el código y cambiar el valor manualmente, pero ya siendo esta la 3era vez que debo cambiar valores, consideré que un array es mucho mejor). Sub arreglo() Dim miArra(0 To , 0 To 3) As String miArra(0, 0) = "Las condes" miArra(0, 1) = "San Bernardo" miArra(0, 2) = "Talagante" For Cont = 0 To 3 ' División de Tablas Dinamicas Sheets("Hoja1").Select Range("Tabla1[#All]").Select 'Sheets.Add ActiveWorkbook.PivotCaches.Create(SourceType:=xlDatabase, Source…

    • 0

      Reacciones de usuarios

    • 3 respuestas
    • 3.8k visitas
  12. Started by jechu85,

    Hola a todos. tengo un problemilla, es que tengo para insertar una imagen cuando cambio una celda pero resulta que pongo para que antes elimine la anterior y no lo hace, la imagen la insera una encima de otra sin borrar nada. tambien me gustaria saber como poder poner la imagen con la orden de que se inserte por debajo, ya que son de unas graficas y tapan las lineas que uso para las graficas. este el codigo que tengo: Private Sub Worksheet_Change(ByVal Target As Range) On Error Resume Next Select Case Target.Column Case 1 ActiveSheet.Shapes(Target.Address).Delete 'con esto se deberia borrar la imagen de antes pero no lo hace For x = 1 To 7 'Rang…

    • 0

      Reacciones de usuarios

    • 6 respuestas
    • 3.8k visitas
  13. Hola a todos. Estoy creando una tabla que me permita filtrar su contenido utilizando una lista desplegable para seleccionar la columna a filtrar y una caja de texto para el criterio. Hh logrado que funcione para todo menos para fechas y números. Lo de las fechas entiendo que puede deberse a la forma que excel las almacena, pero lo de los números me tiene confundido. He intentado definir la variable para el criterio (crit) como variant o sencillamente no definirla, pero el problema persiste. Este es el código que tengo para filtrar (Corre cuando se le da a enter en la caja de texto) Private Sub TextBox1_KeyUp(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Inte…

    • 0

      Reacciones de usuarios

    • 8 respuestas
    • 3.8k visitas
  14. Buenas tardes: Necesito que una columna entera en una hoja de Excel (donde hay una fórmula) quede protegida para que nadie pueda modificarla pero sin tener que proteger la hoja entera. Cómo hacerlo? Gracias!!

    • 0

      Reacciones de usuarios

    • 5 respuestas
    • 3.8k visitas
  15. He traído una nueva inquietud, reciban saludos. ¿Cómo separar completamente nombres y apellidos a través de una macro? Es decir, poner primer nombre en B2, segundo nombre en C2, primer apellido en D2, segundo apellido en E2, y así respectivamente con cada uno de los ejemplos. ¿Es posible? Libro1.rar

    • 0

      Reacciones de usuarios

    • 5 respuestas
    • 3.8k visitas
  16. Started by Luisfer2020,

    Buenas noches mi pregunta es la siguiente, para quien desee ayudarme con este codigo...Muchas gracias de antemano... Tengo un formulario y dentro de el un listboxt, el cual carga al inicializarce las 13 columnas de la hoja excel, pero cuando hago una busqueda por nombre solo me carga 10 columnas, yo se que solo llega hasta 10, pero me gustaria saber como con rowsource puedo cargar con la busqueda las mismas 13 columnas...Muchas gracias. Private Sub nombre_Change() 'Primero exige que sea texto If IsNumeric(nombre) And _ nombre.Text <> "" Then Beep MsgBox "DEBES INTRODUCIR SOLO TEXTO" nombre.Text = "" nombre.SetFocus End If 'solo …

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 3.8k visitas
  17. Started by muyayito,

    Buenas foro. Estoy intentnado aplicar el comando attrib /s /d -r -h -s *.* en la unidad d: y no se como hacerlo para insertar dos comandos, con uno solo no tengo problema Call Shell("cmd.exe /S /K" & "D:", vbNormalFocus) Como seria para justo despues aplicar el comando attrib?

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 3.8k visitas
    • 1 seguidor
  18. Started by oscaredrei,

    Buen dia, Quisiera ver si es posible alguien me ayude con lo siguiente: En la empresa donde trabajo todo es muy manual y quisiera automatizar algunos reportes, para realizar conteos ciclicos actualmente se realiza lo siguiente: Se corre un Queri de Access y se exporta a Excel. Desde excel se filtra y selecciona numeros de parte que se pretende contar se valoran precios y usos. Todo esto manualmente. Por lo que quisiera que sea automatico, que sea un archivo de Excel y se este actualizando con el queri de Access, ademas dependiendo del valor de la parte $, puedan existir categorias ejemplo ABC. Algo que me puedan aconsejar? Agradesco la atencion prestada…

    • 0

      Reacciones de usuarios

    • 0 respuestas
    • 3.8k visitas
  19. Started by rodstudio,

    esto quiero en vba pero no logro interpretar para traducir Leer un QR desde Windows con la webcam - Developers, developers, developers.... alguien me puede ayudar a leer un codigo qr desde un textbox del form?

    • 0

      Reacciones de usuarios

    • 1 respuesta
    • 3.8k visitas
  20. Saludos a todos me pudieran ayudar con este codigo el cual pretende como menciona el encabezado pasar los datos de listbox a una tabla usando sentencias SQL lo intente de esta manera: ABRIR_RS 'Crea el objeto recordset Sql = "Select*from [productos$]" Rs.Open Sql, Cnn, 1, 1 With Lista 'listbox For i = 0 To .ListCount - 1 Rs.AddNew Rs!ID = .List(i, 0) Rs!CODIGO = .List(i, 1) Rs!ARTICULO = .List(i, 2) Rs!PVP = .List(i, 3) Rs!IVA = .List(i, 4) Rs!MEDIDA = ComboBox1.List(ComboBox1.ListIndex, 0) Rs!CATEGORIA = ComboBox2.List(ComboBox2.ListIndex, 0) Rs!STOCK_MINIMO = .List(i, 7) Rs!ESTATUS = .List(i, 8) Rs.Update Next i …

    • 0

      Reacciones de usuarios

    • 7 respuestas
    • 3.8k visitas
  21. Hola amigos. El tema es el siguiente: Quiero pasar los datos de un formulario en un fichero Excel a un documento Word en un servidor. En el mismo formulario he creado un procedimiento de apertura del documento pero al pasar los datos del formulario al documento me sale "Error 438 en tiempo de ejecución, el objeto no admite esta propiedad o método". He implementado los objetos Word en Excel. Este procedimiento desde el mismo Word funciona pero desde Excel no. Todo va bien hasta que abre el documento y empieza a pasar los datos. Mi intención es que abra el documento, vuelque los datos del formulario, imprima y cierre el formulario sin guardar. De todas formas el docu…

    • 0

      Reacciones de usuarios

    • 6 respuestas
    • 3.7k visitas
  22. Started by upecdh,

    buenas alquien que me pueda ayudar , necesito bloquear un rango de celdas con una casilla de verificacion o al cerrar excel gracias

    • 0

      Reacciones de usuarios

    • 1 respuesta
    • 3.7k visitas
  23. Buenos días escribo en esta ocasión para que me guíen puesto que deseo extraer la información de 400 informes, pero solo algunas celdas, la celda en este caso es C18 de todos los archivos, en este momento solo necesito esa celda, pero pronto necesitare sacar la información de otras que aun no conozco. Todos los informes tienen la misma estructura, necesito saber como luego de tener el codigo macro VBA, como irlo modificando de acuerdo a la necesidad de celda. Saludos PD: vi un post muy parecido en el cual tratan lo mismo pero no se como modificar el codigo. el codigo que sale en el post es el siguiente: Option Explicit Sub RecuperaDatoA2_y_I2_Opcion_1() 'Usando …

    • 0

      Reacciones de usuarios

    • 0 respuestas
    • 3.7k visitas
  24. Started by mcotrina,

    Hola, tengo una celda que contiene varias lineas, pero el espacio entre ellas es muy corto quiero ampliarlo porque se imprimira en un formato predefinido. ¿es posible eso? ¿cómo? espero su ayuda. saludos

    • 0

      Reacciones de usuarios

    • 1 respuesta
    • 3.7k visitas
  25. Buenas tardes! Espero puedan ayudarme y entender lo que tengo en mente. Resulta que tengo un listado de gastos hechos por una empresa con diferentes conceptos, y debidamente codificados Eje: 58111 Gasto por mantenimiento 58417 Gasto por desarrollo y asi hasta llegar a miles de registros y cuentas el cual estan ordenados en mi hoja de excel de forma lineal junto con los 12 meses del año. El hecho es que he pensado en elaborar un UserForm el cual tenga 2 listas desplegables: 1. Una que muestra los codigos y nombre del gasto 2. Que muestre los 12 meses del año El TextBox es para ingresar un valor numerico, es decir, un saldo o monto. Lo qu…

    • 0

      Reacciones de usuarios

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