Condividi:        

Macro o formula x distanze

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

Macro o formula x distanze

Postdi tony61 » 24/04/10 14:39

[b]ciao a tutti spero che qualcuno possa aiutarmi x non riesco più a procedere ,
devo trovare in un archivio come l'immagine ,ambi che abbiano la stessa distanza
tipo 11.21--41.31 dist-10 + 10 tra di loro dal maggiore del 1° ambo al minore del 2° ambo
17-34---51-68 dist-17 + 17
10-30---50-70 dist-20 + 20

l'archivio e scorrevole ,di conseguenza ho delle formule ho una macro potrebbe evidenziarmi solo
quelle situazioni come nell'esempio,le celle non cambiano mai e vengono riportate le ultime 3 estr..

Ho provato diverse soluzioni ma propio non riesco

grazie x chi può aiutarmi

Immagine
tony61
Utente Senior
 
Post: 176
Iscritto il: 11/04/09 13:33

Sponsor
 

Re: Macro o formula x distanze

Postdi tony61 » 25/04/10 08:45

Se e possibile anche solo un consiglio un idea di come impostare la formula o la macro,
x la distanza tra gli estratti uno schema lo già fatto 10 x ogni ruota ,ma non riesco a andare avanti .

Con la formattazione condizionata potrebbe essere una soluzione ma non so se e possibile

Con una macro sarebbe l'ideale che mi colora o che mi scriva in 2 celle l'ambo trovato con quelle condizioni
tipo nell'immagine fatta apposta x rendere l'idea .
Il difficile x me e mettere assieme le 2 condizioni che devono essere solo in quel modo .
Le celle dove scorrono i dati sono fisse e questo dovrebbe agevolare il lavoro i riferimenti non cambiano,
in quelle 3 estrazioni deve verificarsi quella situazione con quelle condizioni.

Mi manca l'idea giusta x legare la formula o come iniziare una macro

Grazie a tutti se e possibile un aiutino
tony61
Utente Senior
 
Post: 176
Iscritto il: 11/04/09 13:33

Re: Macro o formula x distanze

Postdi Flash30005 » 25/04/10 12:28

Non riesco a capire il quesito
Per distanza si intende l'intervallo tra due numeri, giusto?
quindi tra 11 e 21 abbiamo distanza 10
tu, giustamente, riporti come esempio 31 e 41 e perché non 72 e 82 della ruota di Cagliari?
Per mettermi in condizioni di fare qualcosa dovresti inviare il tuo foglio di excel con i dati e con chiari esempi di ciò che vuoi ottenere, non credo che userò formule ma macro.

ciao
Flash
Win10 + Office 2010 Ita
"Fotografica" al servizio dell'immagine
Avatar utente
Flash30005
Moderatore
 
Post: 8517
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: Macro o formula x distanze

Postdi tony61 » 25/04/10 14:55

tony61 ha scritto:[b]ciao a tutti spero che qualcuno possa aiutarmi x non riesco più a procedere ,
devo trovare in un archivio come l'immagine ,ambi che abbiano la stessa distanza
tipo 11.21--41.31 dist-10 + 10 tra di loro dal maggiore del 1° ambo al minore del 2° ambo
17-34---51-68 dist-17 + 17
10-30---50-70 dist-20 + 20

l'archivio e scorrevole ,di conseguenza ho delle formule ho una macro potrebbe evidenziarmi solo
quelle situazioni come nell'esempio,le celle non cambiano mai e vengono riportate le ultime 3 estr..

Ho provato diverse soluzioni ma propio non riesco

grazie x chi può aiutarmi

Immagine



Grazie Flash30005 in effetti non o ancora nessun foglio creato ma solo un archivio
come nell'immagine riporto il 11.21 e 31.41 perchè dal 21 al 31 c'è la distanza 10
1° condiz.. 11.21 dist 10 ok
2° condiz--31.41 dist.10 ok

perchè le prime 2 condizioni possano essere considerate ci deve essere la 3° condizione
altrimenti si annulla tutto

3° condiz il numero + alto del 1° ambo è il 21
il numero più basso del 2° ambo è il 31
ecco la 3° condizione distanza anche qui di 10

x quelo che dicevi tu x andare bene 72.82 di Cag
ci deve essere nelle ultime 3 estr un 62.52(oppure 50.62) uguale

lo scema x i riferimenti alla macro sono nell'immagine le celle sono fisse
e solo un archivio scorrevole .

Grazie mille gentilissimo
tony61
Utente Senior
 
Post: 176
Iscritto il: 11/04/09 13:33

Re: Macro o formula x distanze

Postdi tony61 » 25/04/10 15:10

tony61
Utente Senior
 
Post: 176
Iscritto il: 11/04/09 13:33

Re: Macro o formula x distanze

Postdi Flash30005 » 25/04/10 18:29

Una domanda:
gli esempi riportati prendono in considerazione solo distanze tra numeri "a salire" es.: 11-21 e quindi 31-41 presumo che quindi 46-26 distanza 20 non debba essere presa in considerazione, o si?

Fai sapere
Ciao
Flash
Win10 + Office 2010 Ita
"Fotografica" al servizio dell'immagine
Avatar utente
Flash30005
Moderatore
 
Post: 8517
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: Macro o formula x distanze

Postdi tony61 » 25/04/10 18:36

Si anche 46.26

giustissimo

dovevo fare un esempio in più giusto

grazie
tony61
Utente Senior
 
Post: 176
Iscritto il: 11/04/09 13:33

Re: Macro o formula x distanze

Postdi Flash30005 » 25/04/10 19:13

Nel file inviato hai evidenziato sulla ruota di Genova il 41 e 61 perché?
per essere evidenziato non doveva essere 41-51 ?

se dai informazioni errate non facciamo altro che perdere tempo inutilmente

Fai sapere
ciao
Flash
Win10 + Office 2010 Ita
"Fotografica" al servizio dell'immagine
Avatar utente
Flash30005
Moderatore
 
Post: 8517
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: Macro o formula x distanze

Postdi tony61 » 25/04/10 19:58

ok io intendo tutte le distanze non solo la distanza 10
e questo il problema potrebbe essere distanza tra gli estratti 5 come 8 come 15 anche 29 che dovrebbe essere il massimo possibile

tutte le distanze che rientrano nelle 3 condizioni ,ecco il perchè della distanza 20 come esempio ..
ma poteva essere anche 18 o 25

pensavo con l'immagine di rendere l'idea con le 2 distanze 10 e 15

comunque se e difficile da fare grazie lo stesso non vorrei rubarti troppo tempo .

Non ci sono altre alternative al momento
tony61
Utente Senior
 
Post: 176
Iscritto il: 11/04/09 13:33

Re: Macro o formula x distanze

Postdi tony61 » 25/04/10 20:02

Flash30005 ha scritto:Nel file inviato hai evidenziato sulla ruota di Genova il 41 e 61 perché?
per essere evidenziato non doveva essere 41-51 ?

se dai informazioni errate non facciamo altro che perdere tempo inutilmente

Fai sapere
ciao


si e stato un errore nel file excel 41.51 ok
era solo un esempio

come nell 'immagine
tony61
Utente Senior
 
Post: 176
Iscritto il: 11/04/09 13:33

Re: Macro o formula x distanze

Postdi Flash30005 » 25/04/10 20:54

Il problema di questo tipo di ricerca dati è che l'utente
parte da dati grezzi come l'archvio che si troverà sotto forma di righe successive,
lo sistema per una corretta visualizzazione e poi su questa impaginazione "gradevole" pretende di rilevare i dati evidenziandone alcuni rispetto agli altri inserendo delle condizioni.
Cosa, a mio avviso, errata in quanto si dovrebbe lavorare sui dati "grezzi" per ottenere il risultato finale e ti spiego il perché:
ti dò solo un input così ti renderai conto che se le estrazioni fossero tutte riga dopo riga e continuative (senza lo spostamento di colonne tra un'estrazione e l'altra) avresti già risolto ecco la macro che ti fornisce le coppie con le tue condizioni dell'estrazione nelle colonne C:G
Codice: Seleziona tutto
Sub TrovaDU1()
RI = 5
RF = Range("C" & Rows.Count).End(xlUp).Row
CI = 3
CF = 7
Sf = 0
For RR = RI To RF
    For CC = CI To CF - 1
        N1 = Cells(RR, CC).Value
        For CC2 = CI + 1 To CF
            N2 = Cells(RR, CC2).Value
            ND1 = Abs(N2 - N1)
            For RR3 = RR To RF
                For CC3 = CI To CF - 1
                    N3 = Cells(RR3, CC3).Value
                    If N3 = N2 + ND1 Then
                        For CC4 = CC3 + 1 To CF
                            N4 = Cells(RR3, CC4).Value
                            If N4 = N3 + ND1 Then
                                MsgBox N1 & " " & N2 & " " & N3 & " " & N4
                               '<<<<<<  azione
                           end if
                        Next CC4
                    End If
                Next CC3
            Next RR3
        Next CC2
    Next CC
Next RR
End Sub


Se tu avessi 10.000 righe funzionerebbe ugualmente bene evidenziando o riportando questi valori su un altro foglio inserendo l'azione al posto del messaggio

Vedi se riesci ad andare avanti da solo con questo input

Ciao
Flash
Win10 + Office 2010 Ita
"Fotografica" al servizio dell'immagine
Avatar utente
Flash30005
Moderatore
 
Post: 8517
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: Macro o formula x distanze

Postdi tony61 » 25/04/10 21:02

Si ok grazie mille in effetti non sapevo se era meglio un archivio cosi con le ultime 3 estr
o il classico a righe

grazie mille lo provo subito grandioso Flash30005

Codice: Seleziona tutto
Bari Cagliari Firenze Genova Milano Napoli Palermo Roma Torino Venezia
24/04/2010 22 32 06 64 02 84 59 10 22 72 59 55 89 63 78 28 19 24 23 04 52 87 55 54 26 82 55 26 41 68 35 83 17 28 37 58 77 63 71 78 32 75 64 71 17 78 14 73 36 86 24/04/2010
22/04/2010 66 43 14 03 13 63 71 72 82 26 79 75 44 21 59 15 06 84 38 66 63 05 43 39 76 81 40 08 14 85 07 87 36 79 47 85 44 81 46 28 48 71 50 40 41 75 36 04 62 33 22/04/2010
20/04/2010 43 05 84 90 48 88 72 29 55 26 74 43 67 41 38 47 83 45 90 48 49 58 82 86 04 28 32 08 44 80 29 79 17 71 50 54 67 36 20 48 55 05 64 71 66 33 55 11 04 53 20/04/2010
17/04/2010 30 10 26 45 56 18 36 68 54 20 73 47 61 77 53 06 08 84 49 73 32 68 03 24 64 19 48 90 49 14 78 75 23 15 45 72 62 33 38 27 13 16 69 10 48 36 45 69 80 31 17/04/2010
15/04/2010 76 61 52 15 77 47 33 11 21 01 43 20 59 04 42 73 09 11 80 36 22 61 26 50 25 83 73 24 89 74 86 66 19 56 78 06 48 45 84 30 11 37 45 79 72 38 78 82 31 39 15/04/2010
tony61
Utente Senior
 
Post: 176
Iscritto il: 11/04/09 13:33

Re: Macro o formula x distanze

Postdi tony61 » 25/04/10 21:39

Ok solo una cosa al posto della finestra con il risultato si potrebbe
disporli in C18 --e D18 // F18 --G18 se ci sono piu risultati nella stessa estr ..nelle celle C19 ecc..

cosa devo modificare ?

grazie ancora
tony61
Utente Senior
 
Post: 176
Iscritto il: 11/04/09 13:33

Re: Macro o formula x distanze

Postdi Flash30005 » 25/04/10 22:27

Sostituisci la parte della macro che riporta il Msgbox con questo codice
Codice: Seleziona tutto
                    If N4 = N3 + ND1 Then ' <<<<esistente
                                RIR = Range("C" & Rows.Count).End(xlUp).Row + 1
                                If RIR < 18 Then RIR = 18
                               ' MsgBox N1 & " " & N2 & " " & N3 & " " & N4
                                Range("C" & RIR).Value = N1
                                Range("D" & RIR).Value = N2
                                Range("F" & RIR).Value = N3
                                Range("G" & RIR).Value = N4
                            End If  '<<<< esistente


Ti ricordo comunque che la diposizione è con tutte le estrazioni in riga
in pratica
Bari riga 5
Cagliari riga 6
...
Bari riga 15
Cagliari riga 16
e non in colonna come le hai riportate tu
Esistono degli archivi che hanno questa diposizione
Altrimenti bisogna lavorare sulla macro

Ciao

Aggiungo che in questo caso la variabile RF va modificata così
Codice: Seleziona tutto
RF = Range("B" & Rows.Count).End(xlUp).Row
Flash
Win10 + Office 2010 Ita
"Fotografica" al servizio dell'immagine
Avatar utente
Flash30005
Moderatore
 
Post: 8517
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: Macro o formula x distanze

Postdi tony61 » 26/04/10 14:06

Tutto ok Flash30005 ottimo lavoro ,

dobbiamo se possibile mettere in un punto della macro ,la funzione cancella dati

tipo questa che ho fatto ma non so dove inserirla

Sub pulisci()
'
' pulisci Macro
' Macro registrata il 25/04/2010 da Antonio
'
' Range("C16:H25").Select
Selection.ClearContents
Range("J23").Select
End Sub


questo perchè i dati trovati appena avvio la macro x la prossima verifica
vanno a in coda a gli altri e mi va in blocco ,
invece cancellando i dati prima dell'avvio della macro tutto ok

Devo solo sapere in che punto devo sistemarla prima che si avvi la ricerca.
tony61
Utente Senior
 
Post: 176
Iscritto il: 11/04/09 13:33

Re: Macro o formula x distanze

Postdi Flash30005 » 26/04/10 14:27

Dici che è un ottimo lavoro?
Ma se si doveva completare e credevo che ci pensassi tu
Se hai fatto caso quella macro non rilevava gli ambi dell'estrazione successiva
mentre con questa macro viene presa come riferimento l'estrazione che si trova dalla colonna C a G e controlla oltre che se stessa anche le altre due (cancella i risultati come hai chiesto)
Codice: Seleziona tutto
Public ND1, RI, RF, CI, CF, RR, CC, N1, N2 As Integer
Sub TrovaDU()
RI = 5
RF = Range("B" & Rows.Count).End(xlUp).Row
CI = 3
CF = 7
RIR = Range("C" & Rows.Count).End(xlUp).Row + 1
If RIR < 18 Then RIR = 18
    Range("C18:G" & RIR).Clear
For RR = RI To RF
    For CC = CI To CF - 1
        N1 = Cells(RR, CC).Value
        For CC2 = CI + 1 To CF
            N2 = Cells(RR, CC2).Value
            ND1 = Abs(N2 - N1)
Call TrovaMatr
SaltaCC2:
        Next CC2
SaltaCC:
    Next CC
Next RR
End Sub
Sub TrovaMatr()
For CIM = 3 To 17 Step 7
CFM = CIM + 4
For RR3 = RI To RF
    For CC3 = CIM To CFM - 1
        N3 = Cells(RR3, CC3).Value
        If N3 = N2 + ND1 Then
            For CC4 = CC3 + 1 To CFM
            N4 = Cells(RR3, CC4).Value
                If N4 = N3 + ND1 Then
                    RIR = Range("C" & Rows.Count).End(xlUp).Row + 1
                    If RIR < 18 Then RIR = 18
                    MsgBox N1 & " " & N2 & " " & N3 & " " & N4
                    Range("C" & RIR).Value = N1
                    Range("D" & RIR).Value = N2
                    Range("F" & RIR).Value = N3
                    Range("G" & RIR).Value = N4
                End If
            Next CC4
        End If
    Next CC3
Next RR3
Next CIM
End Sub


Però mi è sorto un dubbio che dovessero essere processate anche le altre due es. Da J a N e Q U
controllando a loro volta le distanze di tutte e tre le estrazioni
e così ho ulteriormente modificato la macro
con questa:

Codice: Seleziona tutto
Public ND1, RI, RF, CI, CF, RR, CC, CC2, N1, N2, CIM, CFM, NV2, NV1 As Integer
Sub TrovaDU()
RIR = Range("C" & Rows.Count).End(xlUp).Row
If RIR < 18 Then RIR = 18
    Range("C18:G" & RIR).Clear
RI = 5
RF = Range("B" & Rows.Count).End(xlUp).Row
CI = 3
CF = 7
For CI = 3 To 17 Step 7
CF = CI + 4
For RR = RI To RF
    For CC = CI To CF - 1
        N1 = Cells(RR, CC).Value
        For CC2 = CC + 1 To CF
            N2 = Cells(RR, CC2).Value
            If N1 = N2 Then GoTo SaltaCC2
            If N1 > N2 Then
                NV2 = N1
                NV1 = N2
            Else
                NV1 = N1
                NV2 = N2
            End If
            ND1 = Abs(N2 - N1)
            If NV2 + ND1 > 90 Then GoTo SaltaCC2
            If N1 = 15 And N2 = 30 Then MsgBox N1 & " " & N2
Call TrovaMatr
SaltaCC2:
        Next CC2
SaltaCC:
    Next CC
Next RR
Next CI
End Sub
Sub TrovaMatr()
For CIM = 3 To 17 Step 7
CFM = CIM + 4
For RR3 = RI To RF
    For CC3 = CIM To CFM
        N3 = Cells(RR3, CC3).Value
        If N3 = NV2 + ND1 Then
            For CC4 = CIM To CFM
            N4 = Cells(RR3, CC4).Value
            If N3 = N4 Then GoTo SaltaCC4
                If N4 = N3 + ND1 Then
                    RIR = Range("C" & Rows.Count).End(xlUp).Row + 1
                    If RIR < 18 Then RIR = 18
                    MsgBox NV1 & " " & NV2 & " " & N3 & " " & N4
                    Range("C" & RIR).Value = NV1
                    Range("D" & RIR).Value = NV2
                    Range("F" & RIR).Value = N3
                    Range("G" & RIR).Value = N4
                End If
SaltaCC4:
            Next CC4
        End If
    Next CC3
Next RR3
Next CIM
End Sub

Vedrai che avrai molti più risultati, chiaramente
Provale entrambi e utilizza quella più idonea

Ciao
Flash
Win10 + Office 2010 Ita
"Fotografica" al servizio dell'immagine
Avatar utente
Flash30005
Moderatore
 
Post: 8517
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: Macro o formula x distanze

Postdi tony61 » 26/04/10 14:38

Grazie la 1° va bene ,scusami ma di macro sono 0 assoluto
e non ci capisco nulla .

grazie mille

bravissimo
tony61
Utente Senior
 
Post: 176
Iscritto il: 11/04/09 13:33


Torna a Applicazioni Office Windows


Topic correlati a "Macro o formula x distanze":


Chi c’è in linea

Visitano il forum: Gianca532011 e 71 ospiti