Saltar al contenido

Toda la actividad

Este flujo se auto actualiza

  1. Última semana
  2. Hola a ambos, Varias opciones: En el ejemplo presentado, se observa que las posiciones abscisa/ordenada son las mismas en las tablas fuente y destino. Si va a ser así, bastaría con: =I3:L6 fórmula que, colocada en F26 devolvería los resultados. Otra forma abreviada podría ser: =BUSCARV(D26;H$3:L$6;{2\3\4\5};) fórmula que habría que insertar en F26, y copiarla verticalmente hasta F29 para obtener los mismos resultados. Pero eso sí: siempre que el orden de las columnas también sea el mismo que el de la tabla fuente. Y por último, ya que tienes Excel-365, también podrías emplear: =EXCLUIR(REDUCE(0;D26:D29;LAMBDA(a;b;APILARV(a;BUSCARV(b;H3:L6;{2\3\4\5};))));1) fórmula única, que introducida en F26, devolverá una matriz dinámica con todos los resultados. Si entre esto y la aportación de @Israel Cassales ya queda resuelta tu petición, perfecto. En el caso de que el problema pueda abarcar otras vertientes y exceder en complejidad (filas o columnas en posiciones diferentes, por ejemplo), mi recomendación es que subas otro archivo, pero esta vez con el escenario más difícil que pueda existir, para ver de aportar nuevas posibilidades de solución. Saludos a ambos,
  3. el comportamiento que describes se ha reportado desde hace varios años y en toda version de excel, algunas (posibles) causas... - el complemento PDFMaker (y muy probablemente otros) - cerrar un libro con un UserForm 'cargado' en memoria (aunque no este visible) - hacer consultas (SQL) al mismo libro (segun version de creacion) - crear instancias de excel > abrir libros para consultar > y cerrar con su ventana oculta - definir y asignar variables de objeto y NO 'terminar/destruir' al final de los procesos
  4. La segunda alternativa con COLUMNA() me gustó, muchas gracias Israel!
  5. Duda BUSCARV - AYUDA EXCEL.xlsx
  6. Espero haberlo entendido Una idea COINCIDIR: Otra COLUMNA:
  7. Estimadas/os, cómo están? Junto con saludar, la duda es sobre el título en cuestión, me explico... durante muchos años trabajando con el BUSCARV en Excel, y han habido múltiples oportunidades donde por razones de agilizar, he querido "automatizar" la etapa de asignar el número de columna del BUSCARV cuando tengo que importar data de una tabla que ya esta ordenada, en lugar de asignar manualmente los números celda por celda. A modo de explicar mejor mi consulta, se adjunta el archivo Excel. De antemano, muchísimas gracias. Saludos! Duda BUSCARV.xlsx
  8. Te respondí en el otro lado. Saludos.
  9. Adaptado @Antoni Un millón de gracias.
  10. Function InsertQRCode(celda As Range) As String Dim QRCodeURL As String On Error Resume Next ActiveSheet.Shapes("QR").Delete QRCodeURL = "https://quickchart.io/qr?text=" & celda.Value With ActiveSheet.Pictures.Insert(QRCodeURL) .Name = "QR" .Left = 500 .Top = 25 .Width = 300 .Height = 300 End With InsertQRCode = "" End Function Adáptalo a tus necesidades.
  11. Mil gracias @Abraham Valencia El código que genero es dependiendo de unos datos, así que es variable. Entonces observo que cada vez el qr tiene el nombre de una imagen diferente, así que como podría borrar el anterior, teniendo en cuenta que tengo otra imagen fija y un botón de macro en la misma hoja. Y por defecto sale muy chico el qr, se podria poner a una resolución fija de 3,00x3,00 y una posición fija?
  12. Para esa versión se me ocurre usar otra web y una UDF: Function InsertQRCode(celda As Range) As String Dim mirango As Range Dim QRCodeURL As String Set mirango = Application.Caller QRCodeURL = "https://quickchart.io/qr?text=" & celda.Value With ActiveSheet.Pictures.Insert(QRCodeURL) .Left = mirango.Left .Top = mirango.Top .Width = mirango.Width .Height = mirango.Height End With InsertQRCode = "" End Function
  13. Buenas tardes. Tengo un archivo excel con el que tengo programado varias tablas dinámicas, todo funciona perfectamente, hasta que un dia determinado , sin saber el porque se crea, (visualizado desde el vba. in archivo Workbook), creando problemas porque renumera la tabla dinámica . Adjunto una captura de pantalla para, ver si alguien me pude ayudar a saber el porque pasa esto, ya que no hay forma de borrar el Workkook , por lo menos no lo he encontrado . Agradecido de antemano, muchísimas gracias, Sebastià.
  14. Buenas @Abraham Valencia gracias por responder. Sigo en la versión 2016.
  15. Antes
  16. el tema tiene su grado de complejidad por lo siguiente: 1) la propiedad que intentas (.interior.colorindex) no detecta formatos condicionales 2) la propiedad .displayformat (xl-2010+) no se puede usar (directamente) en UDF's llamadas desde celdas 3) por lo mismo es la 'vuelta de tuerca' por procedimiento 'auxiliar' y el metodo 'evaluate' finalmente, no me hables 'de usted', hablame de (us)TU 🫡
  17. Hola. Ya no funciona hace un año aproximadamente, Google ya había informado, al menos hace una década, que consideraba obsoleto el uso de dicha API y ya apagaron los servidores. Las alternativas son acordes a la versión de Excel que usar ¿tienes la versión 2016 como dice en tu perfil o ya actualizaste?
  18. 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
  19. ¡Ah! Me ha gustado su aporte @Héctor Miguel a mí me costo trabajo ocupar el Displayformat por eso en la idea que presente use dos sentencias, en una tomé como base las condiciones del formato condicional del consultante pero la de usted me parece mejor. Gusto en saludarlo. De verdad que aquí se aprende bastante. ¡Saludos!
  20. hola, a todos ! analiza el adjunto, es una copia de tu muestra (sorry, le depure algunos abusos) (datos ocultos, referencia a celdas 'alla donde se devuelve el aire', celdas combinadas [no sabes en la que te metes], etc.) ya lo repondras si son imprescindibles ? al final de cuentas, lo que te interesa es una UDF funcionando en la columna "N" lo importante son los codigos (en el modulo de 'la hoja' y el modulo general con la/s UDF's) condicion color (ayudaExcel).xlsb
  21. Hola JSDJSD: Muchas gracias, ha quedado perfercto, dare una revisada a cada proceso. Quedo excelente. Saludos Cordiales Mariano
  22. Pues eso es lo que hace la combinación de las dos sentencias.
  23. Israel / njnsp lo que yo necesito es tener una formula que me indique estas son las celdas vacías con cualquier tipo de texto, en la primera formula que me enviaste Israel funciona siempre y cuando se pinte manualmente las celdas pero si las celda tiene formato condicional y se colorean la formula lo toma como toda esas celdas vacia. yo no quiere que considere eso como vacia ya que tiene un color por el formato condicional.
  24. Cambia el código de tu botón Registrar por este modificado Private Sub CommandButton1_Click() ' Declaramos variables Dim DescripSelec As Variant Dim Codigos As Variant Dim strcodig2 As String Dim intCantidad As Double Dim doublePUnitario As Double Dim intTotal As Double Dim Codigo As Variant ' Capturamos el valor del ComboBox1 Codigo = Me.ComboBox1.Value ' En caso de error On Error Resume Next ' Inicializamos búsqueda de código With Application.WorksheetFunction ' Buscar directamente sin conversión Codigos = .VLookup(Codigo, PRODUCTOS.Range("A:C"), 1, 0) ' Si no se encuentra, mostrar "No encontrado" If IsError(Codigos) Then Codigos = "No encontrado" End If ' Buscar descripción (mismo proceso que el código) DescripSelec = .VLookup(Codigo, PRODUCTOS.Range("A:C"), 2, 0) If IsError(DescripSelec) Then DescripSelec = "No encontrado" End If ' Captura cantidad intCantidad = Me.TextBox1.Value ' Llenamos el ListBox Me.ListBox1.AddItem Codigo ListBox1.List(ListBox1.ListCount - 1, 1) = DescripSelec ListBox1.List(ListBox1.ListCount - 1, 2) = .Text(intCantidad, "#,##0") ' Precio unitario doublePUnitario = Me.TextBox2.Value ListBox1.List(ListBox1.ListCount - 1, 3) = .Text(doublePUnitario, "$#,##0.00;-$#,##0.00") ' Total intTotal = doublePUnitario * intCantidad ListBox1.List(ListBox1.ListCount - 1, 4) = .Text(intTotal, "$#,##0.00;-$#,##0.00") ' Actualización de etiquetas Me.lblProductos = .Text(CInt(Me.lblProductos) + CInt(intCantidad), "#,##0") Me.lblTotal = .Text(CDbl(Me.lblTotal) + CDbl(intTotal), "$#,##0.00;-$#,##0.00") ' Restablecer valores Me.ComboBox1.Value = "" Me.ComboBox1.SetFocus Me.txtConsec = Me.TextBox4.Value Me.TextBox5.Value = Format(CDate(TextBox5.Text), "dd/mm/yyyy") Me.txtFecha = Me.TextBox5.Value End With End Sub
  25. ¡Vaya! Aunque la expectativa no ha cambiado sí que lo hace el escenario. Cosas como formato condicional, que la celdas no están vacías, que no todo lo colorea con condicional sino que aparte usted colorea de manera manual y aleatoria cambian bastante la posible solución. En términos simples BVA no alcanza de manera directa a leer el color del condicional pero aún así, sí se puede hacer algo, ahora el que usted pinte la celdas cambia la lectura del código, así que le recomiendo tener dos. Uno que primero cuente los condicionales y otro que le discrimine los coloreados manuales. Necesita dos códigos: Function ContarCeldasSinCadenas(rng As Range) As Long Dim celda As Range Dim conteo As Long Dim texto As String conteo = 0 For Each celda In rng texto = celda.Value If InStr(texto, "657") = 0 And InStr(texto, "666") = 0 And InStr(texto, "658") = 0 Then conteo = conteo + 1 End If Next celda ContarCeldasSinCadenas = conteo End Function Function ContarPorColor(rango As Range) As Long Dim celda As Range Dim contador As Long contador = 0 For Each celda In rango If celda.Interior.ColorIndex <> -4142 Then contador = contador + 1 End If Next celda ContarPorColor = contador End Function Y después a un resultado le resta el otro. Con eso debe llegar al resultado que busca. Saludines
  1. Cargar más actividad
×
×
  • Crear nuevo...

Información importante

Echa un vistazo a nuestra política de cookies para ayudarte a tener una mejor experiencia de navegación. Puedes ajustar aquí la configuración. Pulsa el botón Aceptar, si estás de acuerdo.