Jump to content

Leaderboard

Popular Content

Showing content with the highest reputation since 09/21/2022 in Posts

  1. Antoni

    formula

    Con lo fácil y bien que se ve 🤣: Function Suma(Celda As Range) As Double With Celda If .Value > 0 Then If .Offset(1) < 0 Then Suma = Suma + .Offset(1) If .Offset(2) < 0 Then Suma = Suma + .Offset(2) End If End With End Function
    4 points
  2. Que tal, verificando la consulta no veo necesidad de duplicar la Tabla de Reparto, dado que se puede simplemente agregar una columna (Importe total) con la siguiente fórmulación: =SUMAR.SI(Consumos!AR$2:AR$8;[@[Nombre completo]];Consumos!AK$2:AK$8)*[@[%]] Espero les sea útil.
    3 points
  3. Que tal a todos (y estimada Silvia), me permito hacer notar que la función BUSCAR realiza búsqueda por aproximación y por ello es muy sensible al cambio del orden de las fechas en la solución propuesta (al ordenar de menor a mayor por ejemplo). Dejo a consideración una solución alternativa que salva esta situación: =INDICE(Cond!F$1:F$7;AGREGAR(14;6;FILA(Cond!F$2:F$7)/((Cond!A$2:A$7=$AQ2)*(Cond!H$2:H$7<$AP2));1)) Espero les sea útil.
    3 points
  4. hola adjunto una opción Ejemplo consumos combustible sq.xlsx
    3 points
  5. Gerson Pineda

    formula

    Un nuevo formuliano a la vista 😍
    3 points
  6. Antoni

    formula

    Después de ver la solución de John Jairo V, corrijo mi propuesta: =SI(A1<0;0;SI(Y(A2<0;A3<0);A2+A3;SI(A2<0;A2;SI(A3<0;A3;0)))) Ambas soluciones funcionan igual, o sea, hemos entendido lo mismo, no obstante, por su sencillez, me quedaría con la de John.🙂
    3 points
  7. John Jairo V

    formula

    ¡Saludos a todos! Una opción, según lo que se te entiende de este mensaje: Podrías usar, simplemente: =(A1>0)*SUMAR.SI(A2:A3;"<0") ¡Bendiciones!
    3 points
  8. Saludos @jesuspg Esto es porque estás usando la función MES dentro de la función TEXTO. si la quitas, tendrás el nombre del mes correcto: =SI(ESBLANCO([@[FECHA DE LA COMUNICACION]]);"";MAYUSC(TEXTO([@[FECHA DE LA COMUNICACION]];"MMMM"))) ¡Bendiciones!
    2 points
  9. Hola, Entiendo que es solo buscar la placa que corresponde al comodin. Adjunto Archivo Ejemplo consumos combustible sq.xlsx
    2 points
  10. Prueba así a ver si te vale: Private Sub CargarLista() Dim x As Long, Nombre As Range CmbID.Clear For x = 28 To Hoja4.Range("E28").End(xlDown).Row CmbID.AddItem Hoja4.Range("E" & x) Set Nombre = Hoja2.Columns("A").Find(Hoja4.Range("E" & x), , , xlWhole) If Not Nombre Is Nothing Then CmbID.List(CmbID.ListCount - 1, 1) = UCase(Nombre.Offset(, 1)) '<------ CmbID.List(CmbID.ListCount - 1, 2) = Hoja4.Range("F" & x).Text Next TxtTotalR.Text = FormatNumber(Hoja4.Range("F26"), 2) For x = 0 To CmbID.ListCount - 1 If CmbID.List(x, 2) = "" Then CmbID.ListIndex = x Exit For End If Next End Sub
    2 points
  11. EL error que te da es porque tanto la cuenta 4600030018 como la 4600050018 no las tienes en la hoja auxiliar por lo que no es posible asignarle su nombre, añade dichas cuentas y prueba.
    2 points
  12. Gerson Pineda

    formula

    Si te refieres a la formula, así empezamos todos jaja Vamos saca ese deseo de tu interior 😄
    2 points
  13. Antoni

    formula

    =SI(A1<=0;0;SI(Y(A2<=0;A3<=0);A2+A3;SI(A2<=0;A2;SI(A3<=0;A3;0))))
    2 points
  14. Debes suscribirte al foro en cualquiera de sus modalidades, de lo contrario, solo tienes derecho a consultar,
    1 point
  15. Prueba a ver si es esto lo que buscas: Sub Prueba_Ytb_2() Dim FileToOpen As Variant Dim OpenBook As Workbook Application.ScreenUpdating = False FileToOpen = Application.GetOpenFilename(Title:="Seleccionar archivo", FileFilter:="Excel Files(*.xls*),*xls*") If FileToOpen <> False Then Set OpenBook = Application.Workbooks.Open(FileToOpen) OpenBook.Sheets(7).Range("C6:K" & OpenBook.Sheets(7).Range("C" & Rows.count).End(xlUp).Row).Copy ThisWorkbook.Worksheets("Hoja1").Range("C" & Rows.Count).End(xlUp).Offset(1).PasteSpecial xlPasteValues OpenBook.Close End If Application.ScreenUpdating = True End Sub
    1 point
  16. Hola Oscar, funciona perfectamente. He probado igual que con Silvia e independientemente del orden o incluso mezclando fechas funciona bien. Gracias.
    1 point
  17. Hola Oscar si, tienes razón, sin embargo, no aseguro, pero me parece que los datos siempre estarán ordenados de acuerdo al cambio de conductor, el que sale y entrega la posta al que inicia.. bueno, me parece.. pero..... de todas formas tu solución es excelente.. saludos.. Silvia
    1 point
  18. pruébala bien, cambia fechas y me confirmas.. porque yo no estoy tan segura, no lo he probado mucho.. saludos..
    1 point
  19. 1 point
  20. Hola @Silvia, te explico. Lo que necesito es que en la hoja Repsol me rellene en la columna Conductor a quien corresponde el consumo, buscandolo en la hoja Conductores. Por ejemplo en la fila 6 de la hoja Consumos viene un consumo realizado el 01/07/2022 12:30 con la matrícula 0265LLD. Buscamos quien es el conductor en la hoja Conductores y vemos que esa matrícula aparece en 2 ocasiones, en las filas 6 y 7 de la hoja. El consumo corresponde al primer conductor de los dos porque TAPIA LOZANO, ANTONIO tiene el vehículo hasta el día 03/07/22 12:00, mientras que el segundo conductor tiene el vehículo entregado a partir de 03/07/22 12:30. El consumo fue en el período que el vehículo lo tenía el primero de los dos conductores. No se si he conseguido explicarme bien. Gracias.
    1 point
  21. También: Sub fecha_inicio() anyo = Year(Sheets("Repsol").Range("B1")) mes = Format(Month(Sheets("Repsol").Range("B1")), "00") dia = Format(Day(Sheets("Repsol").Range("B1")), "00") Sheets("Repsol").Range("B2") = anyo & mes & dia End Sub
    1 point
  22. Hola Prueba así: mifecha = VBA.Format(Sheets("Repsol").Range("B1"), "yyyymmdd")
    1 point
  23. Buenas tardes, eso estaba buscando ayer, pero no lo encontre; ya se puede cerrar el tema, gracias.
    1 point
  24. Hola chicos, gracias por vuestras respuestas, me han sido muy clarificadoras. Gracias Abraham, veo que vba Excel no es todopoderoso, no lo puede hacer todo. Bueno, he encontrado la solución, y es la que me ha dado DiegoPC, ya lo habia pensado antes, pero el me lo ha confirmado. Gracias Diego a ti tambien. La unica diferencia es que no le reprocho nada al que quiere restaurar la ventana, jajajaja. Cuando vea que no puede, ya se rendirá 🤣🤣 Un saludo chicos... 🙂
    1 point
  25. Cierra el tema en este foro si has decidido continuar la consulta en el otro y sigue el consejo del Maestro Abraham Valencia para conseguir la mayor ayuda posible, un saludo. ** Es una sugerencia, en ningún momento quiero que se malinterprete **
    1 point
  26. Lo sé, yo solo te mande el aviso para que intentaras tú mismo solucionarlo, pero el Maestro Antoni te dio la solución un saludo a ambos.
    1 point
  27. Hola No lo deshabilites, solo haz que si restaura la ventana se la vuelves a maximizar a la mala y de paso lo amenazas por malcriado. Private Sub Workbook_WindowResize(ByVal Wn As Window) If Wn.WindowState <> xlMaximized Then Wn.WindowState = xlMaximized Application.StatusBar = "Te dije que no se permite restaurar la ventana, lo vuelves a hacer y te apago la computadora" End If End Sub
    1 point
  28. Tranquilo, no lo comentaba directamente por ti, si no que es una tendencia sobre los usuarios Gracias por tus muestras de agradecimiento, dice mucho de ti Saludos!
    1 point
  29. Victor7

    formula

    Hola de nuevo, Me vas a perdonar, pero tu explicación sigue siendo un tanto embarullada. Lo mejor que puedes hacer es subir un archivo con tantos ejemplos como puedan existir. Es decir, supongamos que las cantidades en A1, A2 y A3, respectivamente son: Positiva, positiva, positiva Positiva, positiva, negativa Positiva, negativa, negativa Positiva, positiva, negativa Negativa, positiva, positiva Negativa, negativa, negativa Negativa, negativa, negativa Negativa, positiva, negativa ...no sé si me falta alguna otra combinación más. En todos los casos, invéntate cantidades y coloca el resultado que deba dar cada una de las opciones. Tal vez así se entienda del todo la casuística del problema. Saludos,
    1 point
  30. La mía es mudarme de piso 😆😆
    1 point
  31. Otra forma Sub EncabezadoArrayII() Dim MyArray As Variant MyArray = Range("A1", Cells(1, Columns.Count).End(xlToLeft)) End Sub En este caso el array es de 2 dimensiones por lo que te has de referir a un elemento así: MyArray(1, c) siendo c el número de columna. En cualquier caso, puede que el array sea innecesario, basta con recorrer la fila 1 con: For y = 1 To Cells(1, Columns.Count).End(xlToLeft).Column ... ... Next
    1 point
  32. Victor7

    formula

    Hola a ambos, En mi opinión personal, lo que estás haciendo mal es no definir el problema con exactitud, claridad y concreción. Veamos: Lectura literal: si en A1 tenemos 5000, en A2 tenemos 2000 y en A3 tenemos -1500................ Y a partir de aquí, nos quedamos tuertos, cojos y mancos. Lo que falta es que expliques qué resultado/s esperas si se cumplen [o no] esos 3 condicionantes. Sólo en ese momento, la ecuación tendrá 2 términos y 1 igualdad y la complejidad adivinatoria se desvanecerá. Hasta entonces, no podrá haber una respuesta concreta, a no ser que aparezca aquí algún taumaturgo capaz de leerte el cerebro... Saludos,
    1 point
  33. Buenas. No sé si eso es lo que quieres, pero ahí va. He añadido una columna en Combustible para que te dé el mes (esa la puedes ocultar). A partir de ahí, ya tienes la fórmula introducida. Solo debes ponerla en cada mes. Saludos. Sistema de Matto v5.4.2 Formula.xlsm
    1 point
  34. Yo lo solventé con formula FILTRAR, en vez de las tablas esas, porque me resultaba tambien muchísimo trabajo. Hice unas consultas, que van dependiendo de los niveles que haga falta, con FILTRAR. Es decir, en un campo auxiliar, hice que se filtraran datos segun lo seleccionado en una casilla anterior, luego, traía los datos seleccionados con validación de datos. Y así, hasta 4 o lo que haga falta. Saludos,
    1 point
  35. Buenas, No entiendo cuál es el problema. Si lo que quieres son listas desplegables para RELLENAR los datos de tu segunda captura, tienes que crearlas como te indica @Abraham Valencia. Esas tablas auxiliares las haces en una hoja auxiliar como ha hecho él en su ejemplo (hoja Datos) independientes de tus datos, y luego en tus datos principales las vas usando. Otra cosa es que ya tengas tus datos rellenos (la captura dos con todos los datos introducidos) y lo que pretendas sea FILTRAR eso datos para verlos. Para eso, tendrás que usar filtros en las cabeceras de los datos o usar la orden Filtrar para visualizar los datos.
    0 points
×
×
  • Create New...

Important Information

Privacy Policy