Stellar Blade Un'esclusiva PS5 che sta facendo discutere per l'eccessiva bellezza della protagonista. Vieni a parlarne su Award & Oscar!
 
Pagina precedente | 1 | Pagina successiva
Vota | Stampa | Notifica email    
Autore

[RISOLTA] Permutazioni in Colonne Distinte

Ultimo Aggiornamento: 10/04/2024 22:11
Post: 1.337
Registrato il: 02/04/2018
Città: PESCARA
Età: 75
Utente Veteran
EXCEL 2016 - SPREAD32
OFFLINE
10/04/2024 14:12

Ciao a tutti
ho una macro molto semplice che sviluppa le Permutazioni di 6 numeri con un algoritmo elementare.
Ma l'elenco si svolge su un'unica colonna e inizia dal rigo 2.
Io sono molto scarso in VBA.
Qualcuno puo' gentilmente fare in modo che
- l'elenco cominci dal rigo 1
- l'elenco si svolga in 6 colonne distinte ?
grazie

PERMU
Sub permB()
Dim i As Long, j As Long, k As Long, l As Long, m As Long, n As Long
For i = 1 To 6: For j = 1 To 6: For k = 1 To 6
For l = 1 To 6: For m = 1 To 6: For n = 1 To 6
'FillC = ""
If (j = i Or k = i Or k = j Or l = i Or l = j Or l = k Or m = i Or m = j Or m = k Or m = l Or n = m Or n = l Or n = k Or n = j Or n = i) Then GoTo skip
'Range("A65536").End(xlUp).Offset(1, 0) = i & FillC & j & FillC & k & FillC & l & FillC & m & FillC & n
Range("A65536").End(xlUp).Offset(1, 0) = i & j & k & l & m & n
skip:
Next: Next: Next: Next: Next: Next
End Sub
[Modificato da L2018 10/04/2024 15:04]

LEO
https://t.me/LordBrum
Post: 1.243
Registrato il: 24/06/2015
Città: CATANIA
Età: 80
Utente Veteran
Excel2019
OFFLINE
10/04/2024 16:30

Ciao Leo
Prova così
Option Explicit

Sub permB()
Dim i As Long, j As Long, k As Long, l As Long, m As Long, n As Long, a As Long, b As Long
For i = 1 To 6
  b = i: a = 0
  For j = 1 To 6
    For k = 1 To 6
      For l = 1 To 6
        For m = 1 To 6
          For n = 1 To 6
            If (j = i Or k = i Or k = j Or l = i Or l = j Or l = k Or m = i Or m = j Or m = k Or m = l Or n = m Or n = l Or n = k Or n = j Or n = i) Then GoTo skip
            a = a + 1
            Cells(a, b) = i & j & k & l & m & n
skip:
          Next
        Next
      Next
    Next
  Next
Next
End Sub

Ciao,
Mario
Post: 1.337
Registrato il: 02/04/2018
Città: PESCARA
Età: 75
Utente Veteran
EXCEL 2016 - SPREAD32
OFFLINE
10/04/2024 18:57

ciao Mario
ti ringrazio, ma a dire il vero per colonne distinte intendevo dire che i 6 numeri di ogni permutazione devono essere in celle separate
mi sa che non mi sono spiegato come dovevo, se non è complicato...grazie
[Modificato da L2018 10/04/2024 19:01]

LEO
https://t.me/LordBrum
Post: 1.244
Registrato il: 24/06/2015
Città: CATANIA
Età: 80
Utente Veteran
Excel2019
OFFLINE
10/04/2024 19:08

Ciao
Nella macro precedente elimina

b = i: a = 0

e sostituisci a questa riga

Cells(a, b) = i & j & k & l & m & n

queste altre

Cells(a, 1) = i
Cells(a, 2) = j
Cells(a, 3) = k
Cells(a, 4) = l
Cells(a, 5) = m
Cells(a, 6) = n


Ciao,
Mario
Post: 1.338
Registrato il: 02/04/2018
Città: PESCARA
Età: 75
Utente Veteran
EXCEL 2016 - SPREAD32
OFFLINE
10/04/2024 19:10

grazie, scusa per l'equivoco, vado a provare, mi ci vuole qualche minuto

LEO
https://t.me/LordBrum
Post: 1.342
Registrato il: 02/04/2018
Città: PESCARA
Età: 75
Utente Veteran
EXCEL 2016 - SPREAD32
OFFLINE
10/04/2024 22:11

grazie Mario

avevo pensato ad una cosa simile, ma non l'avevo neppure provata pensando che ritardasse un po' troppo, invece...va benissimo

LEO
https://t.me/LordBrum
Vota:
Amministra Discussione: | Chiudi | Sposta | Cancella | Modifica | Notifica email Pagina precedente | 1 | Pagina successiva
Nuova Discussione
 | 
Rispondi
Cerca nel forum
Tag discussione
Discussioni Simili   [vedi tutte]
Feed | Forum | Bacheca | Album | Utenti | Cerca | Login | Registrati | Amministra
Tutti gli orari sono GMT+01:00. Adesso sono le 21:12. Versione: Stampabile | Mobile | Regolamento | Privacy
FreeForumZone [v.6.1] - Copyright © 2000-2024 FFZ srl - www.freeforumzone.com