| | Post: 20 | Registrato il: 06/02/2017
| Utente Junior | 2016 | | OFFLINE | |
|
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] |
|
| | Post: 1.211 | Registrato il: 27/06/2011
| Utente Veteran | excel 2007 | | OFFLINE |
|
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... |
| | Post: 2.118 | Registrato il: 06/04/2013
| Utente Veteran | 2010 | | OFFLINE |
|
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 |
| | Post: 20 | Registrato il: 06/02/2017
| Utente Junior | 2016 | | OFFLINE | |
|
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] |
| | Post: 2.120 | Registrato il: 06/04/2013
| Utente Veteran | 2010 | | OFFLINE |
|
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 |
| | Post: 469 | Registrato il: 29/03/2012
| Città: VARESE | Età: 68 | Utente Senior | 2010 | | OFFLINE | |
|
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 |
| | Post: 22 | Registrato il: 06/02/2017
| Utente Junior | 2016 | | OFFLINE | |
|
29/01/2019 17:09 | |
cambiare foglio perchè non bastano le colonne Ringrazio comunque tutti….grazie Peppo sto cercando di provare con access.. |
| | Post: 23 | Registrato il: 06/02/2017
| Utente Junior | 2016 | | OFFLINE | |
|
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…. |
| | Post: 24 | Registrato il: 06/02/2017
| Utente Junior | 2016 | | OFFLINE | |
|
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 |
|
|