› Sviluppare funzionalita su Microsoft Office con VBA › Macro che non mi va
-
AutoreArticoli
-
Ciao Mario
Mi rivolgo a te in particolare a te , e chi unque ci riesca perchè ho trovato una macro in rete che penso sia tua
Il problema è che mi serve con la condizione for next , ma fino a 4 for va benissimo , quando metto la 5° non riesco proprio a trovare il modo di farla funzionare
Allego il File e la macro
Grazie a tutti
`MACRO ORIGINALE -------------------------------- Y = 4 X = 3 i = 3 While Cells(i, 1) <> "" j = i + 1 While Cells(j, 1) <> "" k = j + 1 While Cells(k, 1) <> "" l = k + 1 While Cells(l, 1) <> "" m = l + 1 While Cells(m, 1) <> "" Cells(X, Y) = (Cells(i, 1)) Y = Y + 1 Cells(X, Y) = (Cells(j, 1)) Y = Y + 1 Cells(X, Y) = (Cells(k, 1)) Y = Y + 1 Cells(X, Y) = (Cells(l, 1)) Y = Y + 1 Cells(X, Y) = (Cells(m, 1)) X = X + 1 m = m + 1 Y = 4 Wend l = l + 1 Y = 4 Wend k = k + 1 Y = 4 Wend j = j + 1 Y = 4 Wend i = i + 1 Y = 4 Wend</code></pre><p> </p><pre class="language-c"><code>`Private Sub CommandButton1_Click() Application.ScreenUpdating = False Var = WorksheetFunction.CountA(Foglio1.Range("D10:D29")) [j:n] = "" Y = 10 X = 2 ' i = 10 For i = 10 To 9 + Var j = i + 1 For a = 11 To 9 + Var k = j + 1 For b = 12 To 9 + Var l = k + 1 For c = 13 To 9 + Var m = l + 1 While Cells(m, 4) <> "" ' For d = 14 To 9 + Var Cells(X, Y) = (Cells(i, 4)) Y = Y + 1 Cells(X, Y) = (Cells(j, 4)) Y = Y + 1 Cells(X, Y) = (Cells(k, 4)) Y = Y + 1 Cells(X, Y) = (Cells(l, 4)) Y = Y + 1 Cells(X, Y) = (Cells(m, 4)) X = X + 1 m = m + 1 Y = 10 ' Next Wend l = l + 1 Next k = k + 1 Next j = j + 1 Next Next End SubAllegati:
You must be logged in to view attached files.e chiunque ci riesca
Se non spieghi cosa vuoi fare ti rimane solo Mario
Ciao Patel
devo sostituire la condizione While Cells(m, 4) <> "" Con la For Next
Salve a tutti
Non datemi meriti che non ho. Quella macro non mi "sembra" mia.
Comunque, come ha detto @patel (ciao Andrea). occorre precisare meglio quale è il tuo obiettivo. Cosa deve risultare alla fine nel Foglio?
Sicuramente stasera non potrò dedicarmici (ci sono le partite di Champions) ma domani si, senza alcun dubbio.
Ciao,
Mario
OK Mario grazie per la risposta vedendo
il nome dell'autore (Mario ) pensavo che eri tu , comunque ho capito perchè non va , è solo perche il file è troppo grande con troppe variabili , quindi ad un certo punto Excel va in blocco
un grazie anche a Patel per il suo intervento
Beh, Oscar, se il problema è la dimensione eccessiva del file, c'è poco da fare!
O "spezzetti" il tuo file in "n" più piccoli o sennò non credo che nessuno ti possa aiutare!
Ciao
Paolo
Ciao
Se ho capito bene vorresti sostituire il ciclo While ... Wend con un ulteriore For ... Next.
Se l'assunto è giusto prova così:
` 'While Cells(m, 4) <> "" For d = m To 9 + Var Cells(x, y) = (Cells(i, 4)) y = y + 1 Cells(x, y) = (Cells(j, 4)) y = y + 1 Cells(x, y) = (Cells(k, 4)) y = y + 1 Cells(x, y) = (Cells(l, 4)) y = y + 1 Cells(x, y) = (Cells(m, 4)) x = x + 1 'm = m + 1 y = 10 Next d 'Wend`Mi sembra che dia lo stesso risultato. Forse bisognerebbe aggiungere una condizione se la cella è vuota.
Fai sapere. Ciao,
Mario
Ha Mario l'ho rifatto completamente nuovo ho fatto prima che a sistemare quella , avevo scaricato quella dal veb per non stare li a farla , ma poi sistemare le cose degl'altri spesso si perde piu tempo che a farle da nuovo
comunque grazie per il tuo interessamento , poi pensavo fosse tua , altrimenti non avrei chiesto nulla
Lo so che da lo stesso risultato , ma mi serviva per lo sviluppo del nuovo totocalcio , che ha 2 sezioni , il primo sono obbligate il secondo sono opzionali , quindi mi serviva il tutto in for next altrimenti non va
ma ho già fatto tutto
grazie di nuovo
Ciao Oscar
Mi chiedevo il perchè >>>quindi ad un certo punto Excel va in blocco
L'unico pensiero "=se finisce" le 1048576 righe (non mi sembra il caso Tuo)Ho cercato in rete il NUOVO "totocalcio" (non ho capito nulla), se può servirti dal "vecchio" posso fare "7doppie-ridotte=16 colonne" oppure se non ricordo male "3triple-ridotte=X colonne" che (garantivano almeno il 12). Per principio non gioco mai, ho visto in Foglio2 una similitudine di dati, potrei vedere quanto hai fatto mà soprattutto spiegarmi come funziona?
Ciao Raffaele il vecchio totocalcio non nulla a che fare con il nuovo
Nel nuovo non è più applicabile il ridotto
E' formato da 2 quadri il primo obbligatorio il secondo opzionale in base alla formula che scegli di giocare
le formule sono 6
formula 3 = (2+1) i primi 2 del primo quadro (obbligatorio) +1 a scelta nel secondo quadro formato sempre da 12 partite
formula 5 = (3+2) i primi 3 del primo quadro (obbligatorio) +2 a scelta nel secondo quadro formato sempre da 12 partite
formula 7 = (4+3) i primi 4 del primo quadro (obbligatorio) +3 a scelta nel secondo quadro formato sempre da 12 partite
formula 9 = (6+3) i primi 6 del primo quadro (obbligatorio) +3 a scelta nel secondo quadro formato sempre da 12 partite
formula 11 = (7+4) i primi 7 del primo quadro (obbligatorio) +4 a scelta nel secondo quadro formato sempre da 12 partite
formula 13 = (8+5) i primi 8 del primo quadro (obbligatorio) +5 a scelta nel secondo quadro formato sempre da 12 partite
E' comunque possibile ridurre le vincite multiple nel secondo quadro opzionale
Esempio : se giochi la formula 5 ( sono 3 obbligati nel primo quadro + 2 nel secondo quadro ), ma nel secondo puoi scegliere tutte le partite che vuoi , ( ma aumenta il numero di colonne da mettere in gioco (nello sviluppo)) , ma la formula dovrà essere sempre 3+2
Ti ho allegato un esempio della formula 5 (3+2)
Come vedi nel primo quadro 3 sono obbligatorie nel secondo devono essere 2 , ma vedi che io nel pronostico ne ho scelto 3 , ma nello sviluppo sono sempre 2 (3+2) = 5
Allegati:
You must be logged in to view attached files.Ciao Oscar Mi chiedevo il perchè >>>quindi ad un certo punto Excel va in blocco
IL problema che andava in blocco era una variabile sbagliata , una volta corretta è subito andato bene
Non sono bravo in queste "cose". Ho già letto del (obbligatorio ed opzionale)
Presumo che "opzionale" siano le colonne che giochi (un'euro ognuna)Domanda? In questo gioco, non esiste il "vecchio 12 del Totocalcio"
Altra domanda >>>E' comunque possibile ridurre le vincite multiple nel secondo quadro opzionale
In base a questo....chiedo solo un'esempio
Vedo il Tuo da riga2 a riga9... sarebbero "queste" le variabili che desideri fare, oppure in riga10 a riga21??Non sono bravo in queste "cose". Ho già letto del (obbligatorio ed opzionale) Presumo che "opzionale" siano le colonne che giochi (un'euro ognuna)
Domanda? In questo gioco, non esiste il "vecchio 12 del Totocalcio"
Altra domanda >>>E' comunque possibile ridurre le vincite multiple nel secondo quadro opzionale
In base a questo....chiedo solo un'esempio
Vedo il Tuo da riga2 a riga9... sarebbero "queste" le variabili che desideri fare, oppure in riga10 a riga21??IL vecchio 12 non esiste più
dalla riga 2 alla 9 sono obbligate in base alla formula che giochi
le variabili sono dalla riga 10 alla riga 21 ( lo vedi nello sviluppo che cambiano di posizione )
le vincite multiple sono dalla riga 10 alla 21 se metti 3 pronostici e li 1ndovini tutti e 3 hai 4 vincite
Ciao Raffaele
lo sai come si fa ad accorpare un sistema del totocalcio
Sul vecchio sapevo fare le "ridotte" che garantivano il 12. Di questo non so nulla e non m'interessa, come detto non gioco più da tantissimi anni.
Sul vecchio sapevo fare le "ridotte" che garantivano il 12. Di questo non so nulla e non m'interessa, come detto non gioco più da tantissimi anni.
Ma con la matrice o la macro
-
AutoreArticoli
