Excel Forum Per condividere esperienze su Microsoft Excel

Ricerca somma Verticale con scelta inputbox

  • Messaggi
  • OFFLINE
    Xeroxs64
    Post: 2
    Registrato il: 20/01/2020
    Età: 60
    Utente Junior
    2016
    00 18/02/2020 11:15
    Buongiorno a Tutti volevo chiedere un aiuto per una ricerca su un quadro estrazionale con range E8:I18 che rappresenta una qualunque estrazione del lotto, bene mi servirebbe una macro che non riesco a generare con inputbox della scelta della somma da trovare in verticale (o come detta isotopa) nel range impostato. la somma trovata se possibile avrei bisogno di evidenziarla o evidenziarle se sono 2 o più trovate dalla ricerca della macro.

    Spero che qualcuno possa aiutarmi.

    Grazie fin da ora.
  • ABCDEF@Excel
    00 18/02/2020 13:31
    Allega un esempio con qualche riga d'esempio, descrivi bene il problema e magari a fianco il risultato che "desideri".

    Ps. Tutti col lotto. Smettete di giocare, sono solo soldi buttati via
  • OFFLINE
    Xeroxs64
    Post: 2
    Registrato il: 20/01/2020
    Età: 60
    Utente Junior
    2016
    00 18/02/2020 14:04
    Ho postato un file con la tabella dove ho evidenziato un ambo o coppia di numeri la cui somma è 50 come vedi ci sono due ambi, io vorrei che con una macro mi cercasse in quel range estrazionale gli ambi o le somme verticali da me scelte con input, in modo da sfruttare la ricerca per eventauali miei spunti.

    PS. concordo con Te sul giocare al lotto con moderazione e lo faccio da sempre ma con calcoli e scelte di gioco mirate e non frutto di fantasia mi sono tolto molte soddisfazioni, studio il gioco da oltre 20 anni e sono convinto che ci vuole molta ma molta fortuna, ma cio non mi deve impedire di studiare metodi o calcoli anche per soddisfazione personale.

    Grazie per aver risposto
  • ABCDEF@Excel
    00 18/02/2020 16:42
    Il VBA è un mezzo potentissimo, purtroppo se elimini una riga oppure una colonna non funziona più. Per quanto richiesto immetti in cella K6=50
    Penso sia giusto...

    Sub calcola()
    Dim x, y, w, tot
    tot = Cells(6, 11)
    Range("D8:I18").Interior.ColorIndex = xlNone
    For x = 5 To 9
        For y = 8 To 18
            For w = 9 To 18
                If Cells(y, x) + Cells(w, x) = tot Then
                    Cells(y, x).Interior.ColorIndex = 4
                    Cells(w, x).Interior.ColorIndex = 4
                End If
            Next
        Next
    Next
    End Sub

    Dopo avvialo
    [Modificato da ABCDEF@Excel 18/02/2020 17:02]
  • OFFLINE
    Xeroxs64
    Post: 3
    Registrato il: 20/01/2020
    Età: 60
    Utente Junior
    2016
    00 18/02/2020 17:27
    Grazie per la VBA, l' ho testata ma per alcuni valori da errorre evidenzia dei numeri che non rientrano nella ricerca, ma non capisco dove può essere l'errore visto che la macro sembra davvero ok.

    Ti allego il file con note di alcuni numeri che danno questo "errore"

    Grazie davvero, intanto per l'aiuto.
  • OFFLINE
    dodo47
    Post: 2.513
    Registrato il: 06/04/2013
    Utente Veteran
    2010
    00 18/02/2020 18:36
    ciao
    se vuoi mantenere quella macro devi escludere la possibilità che y sia uguale a w (in altre parole che venga sommato il numero in esame a se stesso. Quando dici per esempio che 18 ti da 9 è perchè somma due volte 9

    ........
    For w = 9 To 18
    If y <> w Then
    If Cells(y, x) + Cells(w, x) = tot Then
    Cells(y, x).Interior.ColorIndex = 4
    Cells(w, x).Interior.ColorIndex = 4
    End If
    End If
    Next
    ......

    (ma è una toppa...)

    saluti
    Domenico
    Win 10 - Excel 2016
  • OFFLINE
    Xeroxs64
    Post: 4
    Registrato il: 20/01/2020
    Età: 60
    Utente Junior
    2016
    00 18/02/2020 19:02
    Grazie davvero, funziona bene comunque, come volevo facesse la macro.


    Sto facendo una serie di calcoli spero se avessi bisogno di poter contare ancora su un tuo appoggio, compatibilmente con il tuo tempo.
  • OFFLINE
    locatevaresino
    Post: 2.248
    Registrato il: 21/03/2008
    Città: LOCATE VARESINO
    Età: 76
    Utente Veteran
    2007 / 13
    00 18/02/2020 19:33
    ciao

    forse intendi in questo modo

    Option Explicit
     
    Sub xxxx()
    Dim col As Long, i As Long, o As Long
    Dim valK6 As Long
    Dim I1 As Long
    valK6 = Range("K6").Value
    Range("D8:I18").Interior.ColorIndex = xlNone
    For col = 5 To 9
    For i = 8 To 18
    I1 = Cells(i, col).Value
    For o = i + 1 To 18
    If I1 + Cells(o, col).Value = valK6 Then
    Cells(i, col).Interior.ColorIndex = 4
    Cells(o, col).Interior.ColorIndex = 4
    Exit For
    End If
    Next o
    If I1 + Cells(o, col).Value = valK6 Then Exit For
    Next i
    Next col
    End Sub



    Ciao da locate
    excel 2007 / 13
  • ABCDEF@Excel
    00 18/02/2020 20:19
    @locatevaresino, non saprei come dire, pure io vedo il forum in modo "strambo"
    Vsto il forum che non accetta alcuni caratteri... in italianesco
    Hai provato a mettere il codice trà apriparentesiquadraCODEchiudiparentesiquadraCODICETUOapriparentesiquadra/CODEchiudiparentesiquadra
    all'inizio di ogni riga non dovresti vedere più..."minoreBRmaggiore"

    @dodo47, Grazie adesso ho capito l'errore, se invece scrivevo...???
    For y = 8 To 17
    For w = y+1 To 18
    [Modificato da ABCDEF@Excel 19/02/2020 01:57]
  • OFFLINE
    Xeroxs64
    Post: 5
    Registrato il: 20/01/2020
    Età: 60
    Utente Junior
    2016
    00 19/02/2020 06:33
    Perfette entrambe le soluzioni conservo le VBA per studiarne la tecnica.

    Grazie davvero.
  • OFFLINE
    Xeroxs64
    Post: 6
    Registrato il: 20/01/2020
    Età: 60
    Utente Junior
    2016
    00 19/02/2020 08:01
    Ora non so se devo aprire una nuova discussione per una variante alla VBA, intanto la prpongo alla vostra attenzione visto che in questo periodo si verificano spesso delle convergenze sulle stesse ruote sia per le somme verticali che orizzontali vorrei chiedere se è possibile utilizzando gli stessi parametri trovare la soluzione per la ricerca della somma orizzontale su llo stesso quadro estrazionale come da allegato, dove ho evidenziato una somma sul range estrazionale.

    Grazie
  • ABCDEF@Excel
    00 19/02/2020 09:47
    Se metti 90 in K6
    Sub calcolacorretta2()
    Dim x, y, w, tot
    tot = Cells(6, 11)
    Range("E8:I18").Interior.ColorIndex = xlNone
    For x = 8 To 18
        For y = 5 To 8
        For w = y + 1 To 9
                If Cells(x, y) + Cells(x, w) = tot Then
                    Cells(x, y).Interior.ColorIndex = 4
                    Cells(x, w).Interior.ColorIndex = 4
                End If
            Next
        Next
    Next
    End Sub
  • OFFLINE
    Xeroxs64
    Post: 7
    Registrato il: 20/01/2020
    Età: 60
    Utente Junior
    2016
    00 19/02/2020 10:32
    Va benissimo, Ti ringrazio ancora.
    Sto finendo dei calcoli poi valuterò la possibilità di fattibilità di alcune ricerche e se non è un problema esporrò la richiesta.
    Grazie