Condividi:        

Confrontare 10 valori

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

Confrontare 10 valori

Postdi neverlandce » 27/08/09 19:34

Salve a tutti,
da un po' leggo il vostro forum e, grazie a voi, ho riscoperto una mia vecchia passione (excel), da molto tempo abbandonato nei cassetti per una serie di problemi.
Un grandissimo plauso va agli amministratori che con molta delicatezza e puntualità corrono in soccorso di chi, come il sottoscritto, è a digiuno di programamzione.
Vengo al mio quesito, anche se ho fatto una ricerca nei post già aperti.

mi occcorre confrontare dei valori (max 10) che sono in due righe diverse di un qualsiasi foglio es. (da a1:f1) con quelli posti in (i1:p1), In una parte del foglio mi dovrebbero uscire i risultati (presenza) dei numeri.
a1:f1= 1 2 3 4 5 ; g1:k1= 1 2 7 8 9; m1:q1 (il risultato) 1 2 0 0 0
Per essere più chiaro e come controllare una estrazione del lotto,superenalotto ect.
Spero di aver esposto il problema in maniera esatta anche se, sono certo, una risposta comuqnue la riceverò.
Di nuovo complimenti a tutti voi
neverlandce
Utente Junior
 
Post: 48
Iscritto il: 27/08/09 18:09

Sponsor
 

Re: Confrontare 10 valori

Postdi Flash30005 » 28/08/09 00:11

inserisci questa formula
Codice: Seleziona tutto
=SE(CONTA.SE($G1:$K1;A1)=1;A1;0)

in M1 e trascinala (copiandola) fino a Q1

Ciao

Ps. ti faccio notare che nel tuo post dici da a1:f1 (sei celle) e poi metti solo 5 valori siccome sono 5 anche per g1:k1 e per m1:q1 ho pensato che 5 era esatto ma puoi controllare solo il lotto perché il superenalotto prevede 6 numeri (+jolly)
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: Confrontare 10 valori

Postdi neverlandce » 28/08/09 08:00

ciao flash,
ti ringrazio della risposta, si ho visto le differenze dei numeri ma il mio era un esempio. La formula che tu mi hai gentilmente inviato già l'avevo provata ma non fa al mio caso, o meglio dovrei copiarla su moltissimi fogli, e penso che forse occorre una macro. Cerco di spiegarmi meglio:
in una tabella, a1:j500 (ma potrebbe essere anche piu grande) ho dei valori, in un altra tabella j1:s300 ho altri valori.
A me occorre che le righe della prima tabella iniziando da a1:j1, si confrotino con tutte le righe della seconda tabella j1:s300, fatto il primo passaggio dovrebbe passare alla righa a2:j2, che si confronta di nuovo con tutta la seconda tabella j1:s300. So cercando anche in access di farla ma li sono a digiuno del tutto.
Ecco un esempio forse piu chiaro.
Archivio da (a1:j500) dati da confrontare (l1:u300) risultato (w1..........e non so dove finisce)

Il risultato anche se va su piu fogli non fa nulla poi cerco di unificarli io (altrimenti non impareremomai nulla).
Nelle tabelle non ci sono doppioni perhcè li elimino io con un filtro. Ho provato anche con access ma li sono proprio a digiuno.
Di nuovo grazie
neverlandce
Utente Junior
 
Post: 48
Iscritto il: 27/08/09 18:09

Re: Confrontare 10 valori

Postdi Flash30005 » 28/08/09 10:26

Ok, allora prova questa macro
Codice: Seleziona tutto
Sub CompilaF()
Application.ScreenUpdating = False
Application.Calculation = xlManual
NF = Worksheets.Count
For FF = 1 To NF
NomeF = "Foglio" & FF
Worksheets(NomeF).Select
UR = Worksheets(NomeF).Cells(Rows.Count, 1).End(xlUp).Row
    Range("W1").Select
    ActiveCell.FormulaR1C1 = "=IF(COUNTIF(RC12:RC21,RC[-22])=1,RC[-22],0)"
    Range("W1").Select
    Selection.AutoFill Destination:=Range("W1:AF1"), Type:=xlFillDefault
    Range("W1:AF1").Select
    Selection.AutoFill Destination:=Range("W1:AF" & UR), Type:=xlFillDefault
    Range("W1").Select
Next FF
Application.ScreenUpdating = True
Application.Calculation = xlCalculationAutomatic
End Sub

Ho rispettato i range che mi hai dato (da A1 a Jx e da L1 a Ux il risultato in W1 e AFx)
dove x è variabile in funzione delle righe che il programma troverà in ogni singolo foglio
I nomi dei fogli li ho considerati come Foglio1, Foglio2 etc se hai altri nomi modificheremo la macro, intanto provala

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: Confrontare 10 valori

Postdi neverlandce » 28/08/09 12:04

non lo dico tanto per dirlo ma la vostra disponibilità è disarmante.

Comunque ho provato la macro mi da un errore: "errore di run-time 1004" errore nel metodo AutoFill per la classe Range.
Effettuando il debug è alla riga 14, col, 1

ciao e grazie
neverlandce
Utente Junior
 
Post: 48
Iscritto il: 27/08/09 18:09

Re: Confrontare 10 valori

Postdi Anthony47 » 28/08/09 13:23

Ma ogni riga ti tab 1 si deve confrontare con la stessa riga di tab 2, o ... ??? Perche' se e' cosi', basta 1 formula da copiare in N fogli, senza disturbare il vba. E di quanti N fogli si parla?

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

Re: Confrontare 10 valori

Postdi neverlandce » 28/08/09 13:54

ciao antony,
il numero di fogli non lo so in anticipo poiche dipendono dai dati che dovrei confrontare,dunque riepilogo il mio prolema con valori quasi esatti

ho una serie di volari numeri in a1:t1655(20 colonne), un altra serie di numeri nella colonna v1:ae650 (10 colonne) mi occorre una procedura che confronti la presenza dei numeri della tabella v1:ae650(10 colonne) con quelli dell'altra tabella (20 colonne) scrivendomi le corrispondenze su altri fogli.
Il confronto deve essee fatto cella per cella: es v1 controlla tutta la riga a1:t1, poi passa alla rgfa a2:t2 ect ect, finito il ciclo della cella v1 si passa alla cella v2 che esegue la stessa operazione scrivendomi il risultato nei fogli occorrenti. L'unica cosa e che nelle due tabelle (almeno spero) nelle righe non ci sono doppioni, cioe la riga a1:t1 non conterrà (eseguiro un filtro prima) mai i valori ripetuti 1 2 3 1 2 9 10 3 1 ect ect....cosi anche l'altra tabella.

Nel primo post facevo riferimento al controllo delle schedine per rendere l'idea di quello che mi serviva-

Mi e venuto il mal di testa solo a pensare come esprimere il mio problema :oops:
grazie
neverlandce
Utente Junior
 
Post: 48
Iscritto il: 27/08/09 18:09

Re: Confrontare 10 valori

Postdi Flash30005 » 28/08/09 16:21

Mentre Anthony risolve con le formule (è un mago in questo), io ho modificato la macro per distribuire le formule su tutti i fogli esistenti nella cartella (con qualsiasi nome foglio), purché le colonne da confrontare e le colonne del risultato siano sempre le stesse.

Il problema che hai riscontrato nella macro precedente è da analizzare meglio, ma lavoriamo su questa

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: Confrontare 10 valori

Postdi neverlandce » 28/08/09 19:01

Flash, scusa ma dove la trovo la modifica? devo riprovare la macro che avevi già pubblicato? oppure non hai allegato la nuova macro?

Se puoi crearla avendo come riverimento il mio ultimo post mi fareti cosa grata e cioe':
a1:t1655(20 colonne) ; v1:ae650(10 colonne)
Il confronto deve essere fatto cella per cella: es v1 controlla tutta la riga a1:t1, poi passa alla rgfa a2:t2 ect ect, finito il ciclo della cella v1 si passa alla cella v2 e scrivere sui vari fogli.

p.s.b Volevo cimentarmi io a variarla ma forse è meglio che me la fai tu e me la studio.

Grazie
neverlandce
Utente Junior
 
Post: 48
Iscritto il: 27/08/09 18:09

Re: Confrontare 10 valori

Postdi Flash30005 » 28/08/09 19:04

Ops!
Ho dimenticato di incollare il codice, scusa
Codice: Seleziona tutto
Sub CompilaF()
Application.ScreenUpdating = False
Application.Calculation = xlManual
For I = 1 To ActiveWorkbook.Worksheets.Count
ActiveWorkbook.Sheets(I).Select
UR = Worksheets(I).Cells(Rows.Count, 1).End(xlUp).Row
    Range("W1").Select
    ActiveCell.FormulaR1C1 = "=IF(COUNTIF(RC12:RC21,RC[-22])=1,RC[-22],0)"
    Range("W1").Select
    Selection.AutoFill Destination:=Range("W1:AF1"), Type:=xlFillDefault
    Range("W1:AF1").Select
    Selection.AutoFill Destination:=Range("W1:AF" & UR), Type:=xlFillDefault
    Range("W1").Select
Next I
Application.ScreenUpdating = True
Application.Calculation = xlCalculationAutomatic
End Sub
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: Confrontare 10 valori

Postdi Flash30005 » 28/08/09 19:07

Ma come a1:t1? ma stai sempre a cambiare?
Senti, fai uno screenshot di come hai queste colonne poi ci penso io

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: Confrontare 10 valori

Postdi Flash30005 » 28/08/09 19:12

Flash30005 ha scritto:Ma come a1:t1? ma stai sempre a cambiare?
Senti, fai uno screenshot di come hai queste colonne poi ci penso io

ciao



Nota bene: Aggiungo (ore 20:16) anche il file in excel, tu modificalo come lo vorresti e rispedisci il tutto
http://rapidshare.com/files/272679278/ConfrontaNumeri2.xls.html
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: Confrontare 10 valori

Postdi neverlandce » 28/08/09 20:13

mi sembra ottimo. Ho apportato le modifiche che vorrei
Ho messo come richiesta la possibilità di nominare i singoli fogli (non è obbligatoria solo se nn ti porta via molto tempo)
spero fi non aver fatto errori con l'upload


http://rapidshare.com/files/272699638/C ... a.xls.html


.....grazie mi sembra riduttivo credimi.
neverlandce
Utente Junior
 
Post: 48
Iscritto il: 27/08/09 18:09

Re: Confrontare 10 valori

Postdi Flash30005 » 28/08/09 22:15

sai che non riesco a capire come vorresti questi risultati?
hai 20 colonne A-T (valori da confrontare)
altre 10 V-AE (dati da controllare)
da AG-AP 10 risultati cosa dovrebbero essere?
Ma non è per caso che tu vuoi la somma di quanti numeri riga V1:AE1 vengono trovati in riga A1:T1?
e poi tra la riga V1:AE1 e la riga A2:T2 vengono trovati?
etc
esempio
A1:T1 - 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20
A2:T2 - 2,3,5,7,8,10,15,18,30,33,40,45,53,78,82,84,85,86,87,89
V1:AE1 - 1,13,17,30,35,40,45,50,78,90
avere in AG1 il valore 3 (perché 1,13,17 sono 3 numeri uguali)?
Poi in G2 avere il valore 4 (30,40,45,78 uguali)
in paratica alla fine in colonna AG hai i risultati della prima riga (V1:AE1) con riferimento ad ogni riga del database
In AH i risultati della seconda riga (V2:AE2) con i riferimenti riga del database
etc

Tutto questo perché pur avendo il foglio e non mi hai fatto alcun esempio visivo (nei risultati ci sono tuti zeri) e sono solo 10 colonne mentre nel database ce ne sono 20 a meno che tu non voglia come risultato i valori delle 10 colonne che sono in V:AE.
----
Dare il nome ai fogli non è un problema ma per Risultato_Nr_ che intendi?
Risultato_Nr_1 se è la riga 1
Risultato_Nr_2 se è la riga 2
etc?
ma quanti sono i dati o le righe dei dati?
spero che non siano 1000 perché la cartella non penso possa contenere tanti fogli
Inoltre in questo caso i risultati nel foglio Dati_da_verificare non dovrebbero esistere perché invece nel foglio da te inviato ci sono?

Insomma non vedo molta chiarezza sulla meta che vuoi raggiungere ma con una macro si può fare qualsiasi confronto
io stesso ho fatto confrontare 8000 righe con altre 8000 righe sullo stesso foglio (procedimento somma quando trovi valore) in circa 1,5 ore.

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: Confrontare 10 valori

Postdi Anthony47 » 28/08/09 22:54

Da quanto detto nel messaggio delle 14:54, io in AG1 di "dati da verificare" avrei messo la formula
Codice: Seleziona tutto
=SE(CONTA.SE($A1:$T1;V1)=1;V1;0)
da copiare poi in lungo e largo.
Leggendo il messaggio delle 20:01, mi sembra invece che si vogliano, per ogni cella dell' area V:AE, 655 risultati (confronto di V1 con A1:T1, poi con A2:T2, fino a A655:T655); e' cosi'? Se SI, dove vuoi memorizzare 655 risultati per ogni cella? in 655 fogli diversi? in 10 blocchi di 655 colonne? ...?

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

Re: Confrontare 10 valori

Postdi neverlandce » 29/08/09 09:04

Buongiorno,
ringrazio e cerco di rispondere allego un file dove penso di essere stato piu preciso.

Risposte a Flash
Il data base da controllare a:1t1 (20 colonne) sono molti
i dati da controllare v1:ae1 (10 colonne) sono molti però potrei effettuare un controllo a blocchi e quindi chiedo a te il numero ottimale dei blocchi da controllare.

Ho messo il risultato nel foglio nominato "da verificare" solo per comodità di lettura i dati andranno su altri fogli


Antony in pratica e cosi. Confrontare la riga a2:t2 con tutte le righe del database a1:t600(ad esempio)
forse il file rennde meglio l'idea.
http://rapidshare.com/files/272907579/C ... o.xls.html

Vi sto facendo perdere motlo tempo vi prego di scusarmi.
neverlandce
Utente Junior
 
Post: 48
Iscritto il: 27/08/09 18:09

Re: Confrontare 10 valori

Postdi Flash30005 » 29/08/09 10:47

Ok
l'esempio che riporti è fattibile dal punto di vista del programma ma...
se le righe delle colonne V:AE sono molte (non mi dici quante) ed ognuna crea un foglio avrai n fogli nella stessa cartella e sinceramente non so qual'è il limite massimo dei fogli che excel possa contenere in una sola cartella, per certo 100 fogli li gestisce quindi non metterei più di 100 righe in questo range.

Con il nome forglio risultato nr__ intendi che nel caso sia la riga 1 (V1:AE1) la riga processata i sui dati vanno nel foglio "risultato nr_1" e se è la riga 2 nel "risultato nr_2"? O, ancora più semplicemente, nel foglio "1" e foglio "2" (avente per nome solo il numero)?

Inoltre per velocizzare il programma non è forse meglio generare n file testo esempio 0001.txt che contenga tante righe quante sono le righe nelle colonne A:T?
es.:
dati ripresi dal tuo foglio
1ª riga
3,6,,9,,,,,,,,
2ª riga
3,6,9,,,,59,53,57,
etc
In questa maniera potrai processare tutte le righe in quanto una cartella di windows non ha gli stessi problemi di numero (in questo caso file)
Poi potremmo trovare la maniera di gestirli con excel.
-----
La seconda soluzione "potrebbe andare bene anche questa soluzione" somma dei numeri genererebbe tante colonne quante sono le righe delle colonne V:AE e ci ritroveremmo limitati (con office2003 max 256 colonne) ma mi viene un dubbio (idea) che potrebbe essere la soluzione alla tua analisi (in quanto non spieghi lo scopo che vuoi raggiungere)
Se tu vuoi sapere quale riga da A1:T2000 ha prodotto più risultati confrontando con i dati da V1:AE600 la somma andrebbe inserita come hai fatto tu nella colonna (es.) AR che per la prima riga V1:AE1 è
3
6
3
3
6
5
5
6
etc
con il confronto della riga V2:AE2
2
5
2
2
5
2
2
5
che sommati alla precedente avremmo
5
10
5
5
11
7
7
11
valori che aumenterebbero con il confronto delle successive righe
in questo caso a fine processo avrai le righe A:T che hanno prodotto più risultati nel confronto con tutte le righe V:AE
che puoi ordinare in ordine crescente o decrescente e valutare le "migliori"
il tutto in una sola colonna e in un solo foglio

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: Confrontare 10 valori

Postdi neverlandce » 29/08/09 13:14

Ciao Falsh,
bhe il fatto che si possa fare mi rincuora.
1) il nome del foglio puoi anche lasciarlo di default (già è troppo);
2) per il foglio txt non so, mi incasinerei di piu, lasciamo questo in excel;
3) le 256 colonne fa nulla (sezionerò, eventualmente, i dati compresi in v1:ae1) per cui scegli tu quale soluzione effettuare, dal file di esempio che ti ho inviato, (se la prima soluzione per me sarebbe il max)

gestisco una serie di palestre, dove si effettuano una serie di attivit "ripetizioni", i dati mi occorrono per verificare alcuni andamenti ed eventualmente modificare. Nel database ci sono delle indicazioni riferite alle ripetizioni, al numero dei pesi, all'aumento delle ripetizioni e al numero dei pesi usati e altre informazioni ect ect.....

I dati da controllare (v1:ae1) hanno una variazione cadenzata quindi posso frazionarli e ridurli a meno di 256 colonne.

In definitiva se dal file che ti ho inviato la macro e fattibile (anche con limite colonne) a me sta benone, l'unica richiesta e se sia possibile evidenziare la "prima soluzione" da me proposta mi faciliterebbe il lavoro di ricerca successivo.

Grazie e se non dovesimo "riscriverci" Buona domenica a tutti voi
neverlandce
Utente Junior
 
Post: 48
Iscritto il: 27/08/09 18:09

Re: Confrontare 10 valori

Postdi Flash30005 » 30/08/09 02:34

Ho fatto qualcosa...
Invio due file ConfrontaPrg.xls crea un file ogni 100 righe elaborate, lo nomina Confronto100.xls poi Confronto200.xls etc,
il secondo invece (ConfrontaPrg2.xls) mette tutte le righe che si trovano nelle colonne V:AE in un unico file nominandolo ConfrontaTutti.xls (non so se excel può contenere 600 fogli, la prova, se vuoi, te la lascio fare a te.

Per fare il confronto bisogna inserire le righe (tutte) del database in A1:Txx e i dati (tutti) in V1:AExx
(il resto del foglio deve rimanere pulito, il nome del foglio non deve essere cambiato, non deve essere eliminato nessun foglio nella cartella del programma)
Cliccare due volte su START in AJ1 e attendere che finisca (il cursore torna a lampeggiare)

Il/i programmi creeranno dei file excel nella directory C:\Palestra e a secondo del programma utilizzato e delle righe (V:AE) si potranno avere uno o più file visualizzabili nel foglio "Elenco" da A1 a Axxx a seconda del numero dei file.
Per poterli analizzare basta cliccare due volte sulla cella del file interessato es.:
A1 = Confronto100.xls
A2 = Confronto200.xls
A3 = Confronto300.xls
A4 = Confronto400.xls
etc
cliccando su A3 si aprirà il file che contiene i risultati della riga 201 a 300

I due file sono scricabili qui
e le macro che fanno tutto ciò sono queste (per dar modo ad altri di utilizzare, nel caso, parti di programma)
Codice: Seleziona tutto
Public Perc As String

Sub PrgConfr()
Application.ScreenUpdating = False
Application.Calculation = xlManual
UR1 = Worksheets("DatiConfronto").Cells(Rows.Count, 1).End(xlUp).Row
UR2 = Worksheets("DatiConfronto").Cells(Rows.Count, 22).End(xlUp).Row
Ini = 0
For RR2 = 1 To UR2
    NCart = (Int((RR2 - 1) / 100) + 1) * 100
    If M_NCart <> NCart Then
        If Ini <> 0 Then
        Workbooks("Confronto" & M_NCart & ".xls").Activate
        Workbooks("Confronto" & M_NCart & ".xls").Close SaveChanges:=True
        End If
        Workbooks.Add
        Application.DisplayAlerts = False
        For i = ActiveWorkbook.Worksheets.Count To 1 Step -1
            If i = 1 Then
            NomeF = RR2
            If Len(NomeF) = 1 Then NomeF = "00" & NomeF
            If Len(NomeF) = 2 Then NomeF = "0" & NomeF
                ActiveWorkbook.Sheets(i).Name = NomeF
                Columns("A:J").Select
                Selection.ColumnWidth = 2.54
                Range("A1").Select
                GoTo salta
            End If
            ActiveWorkbook.Sheets(i).Delete
salta:
        Next i
        Application.DisplayAlerts = True
        If Dir("C:\Palestra", vbDirectory) = "" Then MkDir ("C:\Palestra")
        ChDir "C:\Palestra"
        ActiveWorkbook.SaveAs Filename:="C:\Palestra\Confronto" & NCart & ".xls", FileFormat _
        :=xlNormal, Password:="", WriteResPassword:="", ReadOnlyRecommended:= _
        False, CreateBackup:=False
        Workbooks("ConfrontaPrg.xls").Worksheets("DatiConfronto").Activate
    End If
    If M_NCart = NCart Then
            Workbooks("Confronto" & NCart & ".xls").Activate
            NomeF = RR2
            If Len(NomeF) = 1 Then NomeF = "00" & NomeF
            If Len(NomeF) = 2 Then NomeF = "0" & NomeF
            Sheets.Add After:=Worksheets(Worksheets.Count)
            ActiveSheet.Name = NomeF
            Columns("A:J").Select
            Selection.ColumnWidth = 2.54
            Range("A1").Select
    End If
    Workbooks("ConfrontaPrg.xls").Worksheets("DatiConfronto").Activate
    For CC2 = 22 To 31
        CC2V = Cells(RR2, CC2).Value
        For RR1 = 1 To UR1
            For CC1 = 1 To 20
                If CC2V = Cells(RR1, CC1).Value Then
                    Workbooks("Confronto" & NCart & ".xls").Activate
                    Worksheets(NomeF).Cells(RR1, CC2 - 21).Value = CC2V
                    Workbooks("ConfrontaPrg.xls").Worksheets("DatiConfronto").Activate
                End If
            Next CC1
        Next RR1
    Next CC2
    M_NCart = NCart
    Ini = 1
Next RR2
Workbooks("Confronto" & M_NCart & ".xls").Activate
Workbooks("Confronto" & M_NCart & ".xls").Close SaveChanges:=True
Application.ScreenUpdating = True
Application.Calculation = xlCalculationAutomatic
Sheets("Elenco").Select
Columns("A:A").Select
Selection.ClearContents
Range("A1").Select
Call ElencoFileXls
End Sub
Sub ElencoFileXls()
Perc = "C:\Palestra\"
Worksheets("Elenco").Select
Range("A1").Select
  With ActiveCell
    Worksheets("Elenco").Range(.Cells(1), .End(xlDown)).ClearContents
  End With
  ElencoFile Direct:=Perc, Estens:="Confronto*.xls", Inicell:=ActiveCell
End Sub
Sub ElencoFile(Direct As String, Estens As String, Inicell As Range)
  Dim i As Integer, f As String
  ChDir Direct
  f = Dir(Estens)
  If f = "" Then Exit Sub
  While f <> ""
    i = i + 1
    Inicell(i) = f
    f = Dir
  Wend
End Sub

Fai sapere se ok
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: Confrontare 10 valori

Postdi neverlandce » 30/08/09 13:31

Ciao Flash,
prima di tutto complimenti, sei andato oltre le mie richieste ed aspettative.

Ho visto i due files e possono benissimo adattarsi alle mie necessità. Voglio segnalarti/chiedederti una cosa.

Ho utilizzato tutti e due i files, in maniera veloce per vedere come funzionavano, ed ho notato che:
se lancio il file ConfrontaPrg2 mi crea tutto come da te indicato, successivamente se lo rilancio di nuovo, cambiando i valori dei dati da confrontare o del database lui elabora e mi chiede se voglio o meno sostituire il file già esistente.
Se invece, eseguo la stessa operazione descritta sopra, con il file ConfrontaPrg, questo non mi avvisa che esiste già un file, effettua l''elaborazione e va a variare i fogli gia esistenti non eliminando i dati presenti negli altri fogli nè i fogli stessi.
Ho effettuato la prova con una righa di dati nel database e due righe di dati nel campo di controllo (v1:ae1), mi aspettavo di trovare solo due fogli ed invece ne erano presenti 10 (dalla precedente elaborarione di prova) e quindi la cosa è apparsa evidente ma risulterebbe, difficle con una quantita di dati maggiori, capire quali siano stati aggiornati e quali no.

Forse sono io che non ho ben compreso le tue indicazioni oppure è un errore?

p.s da quello che ho visto a me va bene anche il file ConfrontaPrg2

Grazie come sempre e buona domenica
neverlandce
Utente Junior
 
Post: 48
Iscritto il: 27/08/09 18:09

Prossimo

Torna a Applicazioni Office Windows


Topic correlati a "Confrontare 10 valori":


Chi c’è in linea

Visitano il forum: Marius44 e 48 ospiti