Valutazione 4.87/ 5 (100.00%) 5838 voti

Condividi:        

Evidenziare in archivio blocchi dall'1 al 90

Vuoi potenziare i tuoi documenti Word? Non sai come si fa una macro in Excel? Devi creare una presentazione in PowerPoint?
Oppure sei passato a OpenOffice e non sei sicuro di come lavorare al meglio?

Moderatori: Anthony47, Flash30005

Evidenziare in archivio blocchi dall'1 al 90

Postdi ikwae » 28/09/20 18:02

Ciao a tutti … per verificare la correttezza dei risultati devo fare dei controlli incrociati per la mia oceanica mole di dati.
Mi necessitano alcuni aiuti che di volta in volta posterò. Il primo è una macro che controlla e conta in archivio, se presenti,
i numeri dall’1 al 90 e una volta trovati colora la zona in cui si trovano. Quindi la macro dovrebbe eseguire i seguenti passi:

1) Verifica che in Archivio range G2:K(end) non ci siano numeri uguali sulla stessa riga.
Se presenti numeri uguali, sulla stessa riga, ferma il ciclo con un semplice messaggio tipo MsgBox “errore” altrimenti
continua con il punto 2.

2) Inizia il ciclo da G2 e conta riga per riga la presenza dei numeri dall’1 al 90, non conteggiando i doppioni, colorando la zona
delle righe e parte finale (se c’è) fin dove ha trovato l’ultimo numero.

3) Continua il ciclo esattamente da dove ha finito con il primo blocco per contare i numeri dall’1 al 90 e colorando il secondo blocco.

4) Continua il ciclo esattamente da dove ha finito con il secondo blocco, ecc.

5) Se nella parte finale dell’archivio non riesce a trovare i numeri lascia intatte le righe ossia senza colore.

Ricapitolando ogni blocco colorato dovrebbe contenere i numeri dall'1 al 90 ed eventuali ripetizioni se presenti. il primo numero del blocco dovrebbe essere un numero dei 90 e l'ultimo numero dovrebbe essere l'ultimo numero dei 90.

In allegato un file con due fogli uno Demo che dà maggiori indicazioni su cosa si cerca e un foglio Archivio dove eseguire la macro di aiuto.

Ringraziando anticipatamente tutti coloro che mi possono aiutare. 73 ilwae

http://www.filedropper.com/90rete_1
Excel 2007
Avatar utente
ikwae
Utente Senior
 
Post: 204
Iscritto il: 27/12/17 23:14

Sponsor
 

Re: Evidenziare in archivio blocchi dall'1 al 90

Postdi ikwae » 28/09/20 22:45

Chiedo scusa mi sono accorto che con il copia incolla i dati del foglio Demo sono parzialmente errati. Solo il primo blocco è giusto.
Allego nuovo file con foglio Demo corretto. Cordialmente ikwae

http://www.filedropper.com/90rete2
Excel 2007
Avatar utente
ikwae
Utente Senior
 
Post: 204
Iscritto il: 27/12/17 23:14

Re: Evidenziare in archivio blocchi dall'1 al 90

Postdi Anthony47 » 29/09/20 00:38

Io l'ho capita come il risultato prodotto da questa macro:
Codice: Seleziona tutto
Sub ColBy90()
Dim wArr(1 To 90) As Long, stArr(1 To 2), dArr(1 To 90) As Long
Dim wArea As Range, nCnt As Long
Dim I As Long, J As Long, K As Long
'
Set wArea = Range(Range("G2"), Range("G2").Offset(0, 4).End(xlDown))
Range("G:K").Interior.Color = xlNone
For I = 1 To wArea.Rows.Count
    For J = 1 To wArea.Columns.Count
        If dArr(wArea.Cells(I, J)) = 0 Then dArr(wArea.Cells(I, J)) = 1
        If nCnt = 0 Then
            stArr(1) = I: stArr(2) = J
        End If
        If wArr(wArea.Cells(I, J).Value) = 0 Then
            nCnt = nCnt + 1
        End If
        wArr(wArea.Cells(I, J).Value) = wArr(wArea.Cells(I, J).Value) + 1
        If nCnt = 90 Then
            Range(wArea.Cells(stArr(1) + 1, 1), wArea.Cells(I - 1, 5)).Interior.ColorIndex = K Mod 2 + 3
            Range(wArea.Cells(stArr(1), stArr(2)), wArea.Cells(stArr(1), 5)).Interior.ColorIndex = K Mod 2 + 3
            Range(wArea.Cells(I, 1), wArea.Cells(I, J)).Interior.ColorIndex = K Mod 2 + 3
'            Range("X1").Offset(0, K).Resize(90, 1) = Application.WorksheetFunction.Transpose(wArr)
            Erase wArr
            K = K + 1
            nCnt = 0
        End If
    Next J
    If Application.WorksheetFunction.Sum(dArr) Mod 5 <> 0 Then
        MsgBox ("Duplicato in riga " & wArea.Cells(I, 1).Row)
        Exit Sub
    End If
    Erase dArr
Next I
'Range("X1").Offset(0, K).Resize(90, 1) = Application.WorksheetFunction.Transpose(wArr)
MsgBox ("Completato...")
End Sub

E se "non c'azzecca" allora descrivi nuovamente l'obiettivo

Ciao
Avatar utente
Anthony47
Moderatore
 
Post: 17231
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Evidenziare in archivio blocchi dall'1 al 90

Postdi ikwae » 29/09/20 09:27

Gentilissimo Anthony … La macro fa esattamente come da richiesta e per il giusto riscontro indico le prove effettuate:

1) a campione, per tre volte, ho delineato una zona con la Formattazione Condizionale e, ho notato, che l’ultimo numero
è effettivamente l’ultimo numero dei 90.

2) ho scritto per due volte due numeri uguali, sulla stessa riga, una volta a fine Archivio e la seconda volta a inizio Archivio
e in entrambe le prove è arrivato il MsgBox di errore indicando il duplicato in riga che c’è il numero doppione.

Aggiungo che la macro è velocissima, almeno sul mio pc, poco di più che istantanea.

Ringraziandoti mille e mille volte per il tuo prezioso aiuto... cordialmente ikwae
Excel 2007
Avatar utente
ikwae
Utente Senior
 
Post: 204
Iscritto il: 27/12/17 23:14

Re: Evidenziare in archivio blocchi dall'1 al 90

Postdi papiriof » 29/09/20 16:44

Gentile sig- ikwae cpme avrai notato anche io sono un appassionato del gioco del lotto ma sinceramente pur essendo diciamo addentro alla materia non riesco a capire i suoi desiderata , per fortuna che c'è Anthony che miraclosamente riesce a capire almeno sotto il punto informatico sia a me che a lei ma non credo capisca il più delle volte a che ci servono tutte le nostre elucubrazioni :D Il più delle volte va oltre le nostre aspettative!!!
Vabbè a me incuriosice come poi vai ad utilizzare questi dati che la macro di Anthony controlla , sempre se è disposto a dare spiegazioni, ovvio!! buona serata papiriof
Win 7+Office 2010
papiriof
Utente Senior
 
Post: 257
Iscritto il: 16/02/10 13:23

Re: Evidenziare in archivio blocchi dall'1 al 90

Postdi ikwae » 29/09/20 21:37

ciao papiriof ... la tua domanda è molto complessa da spiegare ma se attendi i prossimi due aiuti che devo postare lo capirai da solo....
Comunque sto realizzando delle verifiche, nella mia oceanica mole di dati, per controllare se le elaborazioni fatte dal mio programma rispettano o sono coerenti alle scelte fatte dai numeri proposti. La scelta è per la gestione di due numeri, che non sono gli ambi tradizionali ma sono opzioni di lettura e di elaborazione del programma. Quando, dove e il come escono e la loro frequenza aiutano ad inserire dati migliori e questi aiuti sono strumenti di individuazione dei numeri ... 73 ikwae
Excel 2007
Avatar utente
ikwae
Utente Senior
 
Post: 204
Iscritto il: 27/12/17 23:14

Re: Evidenziare in archivio blocchi dall'1 al 90

Postdi Statix » 11/10/20 12:42

Ciao Ikwae , una curiosità , quando chiude il blocco da 1 a 90
l'ultima cinquina viene evidenziata parzialmente, secondo me dovrebbe essere evidenziata tutta,
dopodichè ricomnciare il blocco dalla successiva cinquina.
Statix
Windows 10,
Office 2013,
Statix
Utente Senior
 
Post: 1258
Iscritto il: 12/05/06 21:55
Località: Provincia di Caserta

Re: Evidenziare in archivio blocchi dall'1 al 90

Postdi Statix » 11/10/20 21:43

Ciao Anthony, visto che sei in linea,chiedevo se potevi modificare la macro con
il blocco da 1 a 90 evidenziando tutta la cinquina cioè l'ultima e ripartire dal primo numero della cinquina successiva.
Statix
Windows 10,
Office 2013,
Statix
Utente Senior
 
Post: 1258
Iscritto il: 12/05/06 21:55
Località: Provincia di Caserta

Re: Evidenziare in archivio blocchi dall'1 al 90

Postdi Anthony47 » 11/10/20 23:09

La richiesta di ikwae era di evidenziare il blocco fintanto che tutti i numeri 1-90 non vi sono compresi; il numero successivo (anche se sulla stessa riga) appartiene gia' al blocco successivo.

Vedi se modificando questa riga ottieni quel che ti interessa:
Codice: Seleziona tutto
' togli questa       If nCnt = 90 Then
        If nCnt >= 90 And J = wArea.Columns.Count Then


Ciao
Avatar utente
Anthony47
Moderatore
 
Post: 17231
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Evidenziare in archivio blocchi dall'1 al 90

Postdi ikwae » 12/10/20 11:51

Ciao Statix :oops: scusa se non ho risposto prima ma leggo solo adesso il post ... in merito alla risposta è giusta quella di Anthony, che saluto a me serve solo sapere il blocco dei 90 numeri indipendentemente dove inizia o finisce.
Scusa ancora per la mancata risposta e un saluto carissimo anche ad Anthony.
Excel 2007
Avatar utente
ikwae
Utente Senior
 
Post: 204
Iscritto il: 27/12/17 23:14


Torna a Applicazioni Office Windows


Topic correlati a "Evidenziare in archivio blocchi dall'1 al 90":


Chi c’è in linea

Visitano il forum: Nessuno e 23 ospiti

cron