È soltanto un Pokémon con le armi o è un qualcosa di più? Vieni a parlarne su Award & Oscar!

Excel Forum Per condividere esperienze su Microsoft Excel

Cambiare foglio perchè non bastano le colonne

  • Messaggi
  • OFFLINE
    Antonio Romano.2017
    Post: 20
    Registrato il: 06/02/2017
    Utente Junior
    2016
    00 28/01/2019 20:16
    cambiare foglio perchè non bastano le colonne
    Salve a tutto il forum, molto tempo fa Dodo mi ha aiutato nella costruzione di una macro per lo sviluppo di combinazioni. Ho apportato alcune modifiche, e adesso mi da un debug, perché finiscono le colonne, e non riesco a trovare il bandolo della matassa affinché il calcolo continui su un altro foglio. La macro è sul foglio 1 il calcolo dovrebbe continuare su foglio 5.Allego il file. Grazie a tutti coloro che vogliono darmi una mano. Sono un autididatta di VBA da poco tempo
    [Modificato da Antonio Romano.2017 28/01/2019 20:17]
  • OFFLINE
    tanimon
    Post: 1.211
    Registrato il: 27/06/2011
    Utente Veteran
    excel 2007
    00 29/01/2019 07:29
    ciao a tutti,
    non guardo il file e quindi non sò quale elaborazione devi
    produrre e non sò neanche quante colonne abbia Excel 2016.

    Ma una cosa certa la sò:
    Excel Pro 2010,

    ha Sedicimila trecento ottanta quattro colonne
    e
    un milione quarantotto mila e cinquecento settanta sei righe


    Mi sembra un numero di colonne e righe sufficienti per un bel pò di
    calcoli e non riesco neanche a pensare che non ti possano bastare.

    Ciao
    Frank







    Stretta la foglia, larga la via, dite la vostra che ho detto la mia.
    Excel 2007 forse anche 2013 ... 2021 ... 365 e future...
  • OFFLINE
    dodo47
    Post: 2.118
    Registrato il: 06/04/2013
    Utente Veteran
    2010
    00 29/01/2019 09:29
    Ciao
    i tuoi numeri generano combinazioni per ca. 1.540.000 numeri e ci vorrebbero 95 fogli per riportarle tutte in quanto ogni foglio contiene ca. 16.380 colonne.

    Per quanto sopra, si potrebbe pensare ad uno sviluppo in "verticale" anzichè in orizzontale, ma questo comporta notevole intervento su tutti i vari codici......

    Comunque in StartSearch, quella che segue è la parte che stampa e, come detto, tutte le altre routine vanno modificate.

    saluti

    ....
    
        Dim NumRighe As Integer
        NumRighe = 0
        For J = 0 To UBound(Rslt)
          If Range("C1") < 999 Then
            quanti = Len(Rslt(J)) - Len(Replace(Rslt(J), ",", "")) + 1
            If quanti > NumRighe Then NumRighe = quanti
            If quanti = Range("C1") Then
              arr0 = Split(Rslt(J), ",")
              For I = 0 To UBound(arr0)
                Cells(drow, dcol) = Cells(arr0(I) + 2, 2)
                drow = drow + 1
              Next
              dcol = dcol + 1
              drow = 1
            End If
        Else
            quanti = Len(Rslt(J)) - Len(Replace(Rslt(J), ",", "")) + 1
            If quanti > NumRighe Then NumRighe = quanti
            arr0 = Split(Rslt(J), ",")
            For I = 0 To UBound(arr0)
                Cells(drow, dcol) = Cells(arr0(I) + 2, 2)
                drow = drow + 1
            Next
            dcol = dcol + 1
            drow = 1
        End If
        Next
    ....
    [Modificato da dodo47 29/01/2019 09:30]
    Domenico
    Win 10 - Excel 2016
  • OFFLINE
    Antonio Romano.2017
    Post: 20
    Registrato il: 06/02/2017
    Utente Junior
    2016
    00 29/01/2019 15:14
    cambiare foglio perchè non bastano le colonne
    Salve Dodo, in pratica sono 2.188.000 combinazioni, ma nella tua macro lo sviluppo fino a 45 numeri, tenendo presente che vengono solo scritte quelle con la somma impostata vanno tutte nel foglio. Con i 50 numeri, invece si blocca perché non c'è capienza, ma potrebbero essere immessi in un foglio successivo, solo che non riesco a dargli i comandi necessari affinché avvenga. Sarebbe tutto più facile se fosse stato uno sviluppo in verticale, ma come tu hai detto si dovrebbe cambiare il tutto ed io non ho la competenza e la conoscenza adatta a farlo. Ho provato diverse soluzioni su esempi di vari libri sul VBA ma niente.

    Stavo cercando di intervenire sulla parte che tu hai evidenziata quella che stampa per capire dove e che tipo di comando dare. Nelle varie prove mi da il debug sulla riga: Cells(drow, dcol) = Cells(arr0(I) + 2, 2)

    Se è possibile un grazie di cuore, se non è fattibile un grazie comunque.
    [Modificato da Antonio Romano.2017 29/01/2019 15:24]
  • OFFLINE
    dodo47
    Post: 2.120
    Registrato il: 06/04/2013
    Utente Veteran
    2010
    00 29/01/2019 15:36
    Ciao
    per quanto mi riguarda è troppo oneroso, in modo particolare per le altre routines...sorry

    saluti



    Domenico
    Win 10 - Excel 2016
  • OFFLINE
    peppo55.Excel
    Post: 469
    Registrato il: 29/03/2012
    Città: VARESE
    Età: 68
    Utente Senior
    2010
    00 29/01/2019 16:44
    Ciao Antonio,

    se usi la versione 2016, prova ad usare Power Pivot.


    un saluto a Domenico ed a tanimon
    peppo

    Excel 2010
  • OFFLINE
    Antonio Romano.2017
    Post: 22
    Registrato il: 06/02/2017
    Utente Junior
    2016
    00 29/01/2019 17:09
    cambiare foglio perchè non bastano le colonne
    Ringrazio comunque tutti….grazie Peppo sto cercando di provare con access..
  • OFFLINE
    Antonio Romano.2017
    Post: 23
    Registrato il: 06/02/2017
    Utente Junior
    2016
    00 29/01/2019 17:15
    cambiare foglio perchè non bastano le colonne
    Scusami Peppo, uso il 2016 cos'è questo power pivot? come funziona? Se hai un pò di tempo per darmi qualche ragguaglio mi farebbe piacere.. Non si finisce mai di imparare….
  • OFFLINE
    Antonio Romano.2017
    Post: 24
    Registrato il: 06/02/2017
    Utente Junior
    2016
    00 29/01/2019 17:35
    cambiare foglio perchè non bastano le colonne
    Ho dato uno sguardo al power pivot, ma non ho trovato comandi che fanno lavorare su macro….VBA