Imprimir página | Cerrar ventana

Obtener el valor anterior al Maximo

Impreso de: Foro de Access y VBA
Categoría: Access y VBA
Nombre del foro: Access y VBA
Descripción del foro: Foro de programacion en Access (Con código y sin código)
URL: http://www.mvp-access.com/foro/forum_posts.asp?TID=84574
Fecha de impresión: 19/Noviembre/2019 a las 04:34


Tema: Obtener el valor anterior al Maximo
Publicado por: cpampasPT
Asunto: Obtener el valor anterior al Maximo
Fecha de publicación: 23/Junio/2019 a las 15:11
Buenas Amigos,
Intento conseguir el valor anterior al maximo de una serie de valores en una Array. Consigo el valor maximo pero no el penultimo mas grande.


On Error Resume Next
Dim data(7) As Integer
Dim tem As Integer, i As Integer

data(0) = 34
data(1) = 19
data(2) = 78
data(3) = 1000
data(4) = 2
data(5) = 600
data(6) = 99


For i = LBound(data) To UBound(data)

    If data(i) - data(i - 1) > temp Then
        temp = data(i)
    End If

  Next i
MsgBox (temp)

Alguna idea de como conseguir el valor 600 ?



Respuestas:
Publicado por: Emilio
Fecha de publicación: 23/Junio/2019 a las 15:20
Hola!

ordena la matriz y extrae su registro anteúltimo http://www.mvp-access.es/juanmafan/wizhook/sortstringarray.htm" rel="nofollow - http://www.mvp-access.es/juanmafan/wizhook/sortstringarray.htm


-------------
Saludos a todos desde Huelva

http://www.mvp-access.es/emilio/" rel="nofollow - http://www.mvp-access.es/emilio/


Publicado por: cpampasPT
Fecha de publicación: 23/Junio/2019 a las 16:37
Emilio,
No conocia ese metodo wizhook. Genial !!!
Solo hice pequena alteracion , con format, para poder ordenar de forma numerica en vez de alfabetica :


'*********************************************************
' Sub SortStringArray(Array() As String)
'
' Método que ordena alfabéticamente una matriz de tipo
' string de una sola dimensión.
'
' Argumentos
'   Array(): La matriz que se ha de ordenar
'
' Este método NO necesita activar el objeto WizHook a
' través de la propiedad Key.
'
Sub wzSortStringArray()
Dim wzArray(7) As String
   
wzArray(0) = Format(34, "0000")
wzArray(1) = Format(19, "0000")
wzArray(2) = Format(600, "0000")
wzArray(3) = Format(1000, "0000")
wzArray(4) = Format(2, "0000")
wzArray(5) = Format(78, "0000")
wzArray(6) = Format(99, "0000")

    'Debug.Print "Matriz sin ordenar:"
    For i = LBound(wzArray) To UBound(wzArray)
     '   Debug.Print wzArray(i)
    Next
   
    WizHook.SortStringArray wzArray
   
    minumero = wzArray(UBound(wzArray) - 1)
    MsgBox (minumero)
End Sub

Muchas gracias, y por mi podeis cerrar el hilo


Publicado por: buho
Fecha de publicación: 24/Junio/2019 a las 09:35
Si quieres saber más sobre ese objeto "oculto"....
Lo descubrió Juan (Happy) hace ya muchos años....
Cierro de nuevo el hilo

http://www.mvp-access.es/juanmafan/wizhook/wizhook.htm" rel="nofollow - http://www.mvp-access.es/juanmafan/wizhook/wizhook.htm

-------------
Expulsado de la cárcel por robar los barrotes



Imprimir página | Cerrar ventana