Condividi:        

prelevare grande quantita di informazioni

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

prelevare grande quantita di informazioni

Postdi raimea » 25/02/11 19:55

salve a tutti
tramite macro prelevo dei dati da piu file e creo 3 elenchi in questo file.
quando arriva il momento di prelevare dal file Es. 1, la macro si blocca e dice :
" gli appunti contengono una grande quantita di informazioni ecc....
scegliere SI per salvare le informaz.
scegliere NO per elim le informaz dagli appnti."

io per poter proseguire correttamente devo scegliere Si
vorrei poter evitare o rispondere in automatico a questa domanda. :?:

inoltre vorrei poter creare in questo file in col. C7 un elenco GENERALE
che comprenda le squadre nelle col F,I,L senza i doppioni
chiedo aiutino.. :undecided:

grazie

http://www.sendspace.com/file/2fgy7l
S.O. win10, Excell 2019
Avatar utente
raimea
Utente Senior
 
Post: 1410
Iscritto il: 11/02/10 07:33
Località: lago

Sponsor
 

Re: prelevare grande quantita di informazioni

Postdi Anthony47 » 26/02/11 00:19

Prova a inserire, subito dopo aver incollato i dati,
Codice: Seleziona tutto
Application.CutCopyMode = False

Per il secondo problema, prova
Codice: Seleziona tutto
Sub ListR()
For Each Cell In Range("F7:F" & Cells(Rows.Count, 6).End(xlUp).Row & ", I7:I" & Cells(Rows.Count, 9).End(xlUp).Row & ", L7:L" & Cells(Rows.Count, 12).End(xlUp).Row)
If Cell = "" Then GoTo GNext
If Application.WorksheetFunction.CountIf(Range("C7:C10000"), Cell) = 0 Then
    Cells(Rows.Count, 3).End(xlUp).Offset(1, 0) = Cell
End If
GNext:
Next Cell
End Sub
Eventualmente in coda fai ancora un ordinamento dell' elenco generato.

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

Re: prelevare grande quantita di informazioni

Postdi raimea » 26/02/11 07:26

il primo problema si presenta ancora.

questo l'immagine del messaggio

Immagine

se rispondo - NO- la macro mi si blocca qui:
Codice: Seleziona tutto
ActiveSheet.Paste

quindi per ora per poter proseguire correttamente sono obbligato a rispondere SI.

per il secondo quesito funziona quasi come mi serve nel senso che in col. C7 mi mette
la squadra ma mi servirebbe anche il relativo paese affiancato incol D7

http://www.sendspace.com/file/w2k249
S.O. win10, Excell 2019
Avatar utente
raimea
Utente Senior
 
Post: 1410
Iscritto il: 11/02/10 07:33
Località: lago

Re: prelevare grande quantita di informazioni

Postdi Anthony47 » 26/02/11 09:52

Devi:-
-aprire il file B
-copiare i dati
-incollarli su A
-chiudere file B

Ad esempio:
Codice: Seleziona tutto
Workbooks.Open percorso & "\" & file
Worksheets("squadr-alfab").Activate   ' <<< il foglio dal quale dove preleva
Application.Run "'luga.fibonacci.xls'!riprsito"  '<<< serve a ripristinare il foglio nel caso fosse chiuso ?? A CHE SERVE?
Range("e7:f1000").Copy Destination:=Thisworkbook.Sheets("foglio1").Range("f7")
Application.CutCopyMode = False  '<<Probabilmente superfluo, ora
Activeworkbook.Close SaveChanges:=False


per il secondo quesito funziona quasi come mi serve nel senso che in col. C7 mi mette
la squadra ma mi servirebbe anche il relativo paese affiancato incol D7
I desideri devi esprimerli se vuoi avere "qualche chance" di vederli esauditi :D
Adesso pero' devi precisare se il valore della seconda colonna deve entrare nella verifica del duplicato o no; insomma, ad esempio, INTER Comp.Eur. e INTER Italy sono due squadre diverse o e' la stessa?

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

Re: prelevare grande quantita di informazioni

Postdi raimea » 26/02/11 13:32

fuori una... :)
grazie ai suggerimenti ho sistemato il problema dell'avviso.
questa la macro con cui prelevo e incollo da 5 file diversi.
Codice: Seleziona tutto
Sub prelevasquadre()
                                     
    ActiveSheet.Unprotect
 
                                     '1mo prelevamnto
percorso = "D:\totosi/scommesse 2010"     ' <<< la cartella dove prelevo il dato
file = "luga.fibonacci.xls"    ' <<< il file dove preleva
Workbooks.Open percorso & "\" & file
Workbooks(file).Worksheets("squadr-alfab").Activate   ' <<< il foglio dal quale dove preleva

Range("e7:f1000").Copy Destination:=ThisWorkbook.Sheets("foglio1").Range("f7")

ActiveWorkbook.Close SaveChanges:=False
 
fil = "squadre.xls"    '<<< il file dove devo portare il dato
Sheets("foglio1").Select
Range("f7").Select  ' la cella dove incollare i dati


                                   '2do prelevamnto
percorso = "D:\totosi/scommesse 2010"     ' <<< la cartella dove prelevo il dato
file = "luga-1x 2010.xls"    ' <<< il file dove preleva
Workbooks.Open percorso & "\" & file
Workbooks(file).Worksheets("squadr-alfab").Activate   ' <<< il foglio dal quale dove preleva

Range("e7:f1000").Copy Destination:=ThisWorkbook.Sheets("foglio1").Range("i7")

ActiveWorkbook.Close SaveChanges:=False
 
fil = "squadre.xls"    '<<< il file dove devo portare il dato
Sheets("foglio1").Select
Range("i7").Select  ' la cella dove incollare i dati


                                 '3zo prelevamnto
percorso = "D:\totosi/scommesse 2010"     ' <<< la cartella dove prelevo il dato
file = "luga-1xb 2010.xls"    ' <<< il file dove preleva
Workbooks.Open percorso & "\" & file
Workbooks(file).Worksheets("squadr-alfab").Activate   ' <<< il foglio dal quale dove preleva

Range("e7:f1000").Copy Destination:=ThisWorkbook.Sheets("foglio1").Range("l7")

ActiveWorkbook.Close SaveChanges:=False
 
fil = "squadre.xls"    '<<< il file dove devo portare il dato
Sheets("foglio1").Select
Range("l7").Select  ' la cella dove incollare i dati

                             '4to prelevamnto
percorso = "D:\totosi/scommesse 2010"     ' <<< la cartella dove prelevo il dato
file = "luga-12 2010.xls"    ' <<< il file dove preleva
Workbooks.Open percorso & "\" & file
Workbooks(file).Worksheets("squadr-alfab").Activate   ' <<< il foglio dal quale dove preleva

Range("e7:f1000").Copy Destination:=ThisWorkbook.Sheets("foglio1").Range("o7")

ActiveWorkbook.Close SaveChanges:=False
 
fil = "squadre.xls"    '<<< il file dove devo portare il dato
Sheets("foglio1").Select
Range("o7").Select  ' la cella dove incollare i dati

                          '5to prelevamnto
percorso = "D:\totosi/scommesse 2010"     ' <<< la cartella dove prelevo il dato
file = "luga-ovr1,5 2010.xls"    ' <<< il file dove preleva
Workbooks.Open percorso & "\" & file
Workbooks(file).Worksheets("squadr-alfab").Activate   ' <<< il foglio dal quale dove preleva

Range("e7:f1000").Copy Destination:=ThisWorkbook.Sheets("foglio1").Range("r7")

ActiveWorkbook.Close SaveChanges:=False
 
fil = "squadre.xls"    '<<< il file dove devo portare il dato
Sheets("foglio1").Select
Range("r7").Select  ' la cella dove incollare i dati

End Sub


ora non so perche' non mi funge piu la 2da macro.... :undecided:
certo esaudire i desideri non e' facile ma da "maghi"... :P
INTER Comp.Eur. e INTER Italy sono due squadre diverse o e' la stessa?

in questo caso dovrebbe creare inter italy
inter comp.eur.

http://www.sendspace.com/file/khtomx
S.O. win10, Excell 2019
Avatar utente
raimea
Utente Senior
 
Post: 1410
Iscritto il: 11/02/10 07:33
Località: lago

Re: prelevare grande quantita di informazioni

Postdi Anthony47 » 27/02/11 00:22

Ma l' Inter era solo un esempio, la domanda presupponeva una risposta piu' articolata.
Comunque prova questa:
Codice: Seleziona tutto
Sub ListR2()
For Each Cell In Range("F7:F" & Cells(Rows.Count, 6).End(xlUp).Row & ", I7:I" & Cells(Rows.Count, 9).End(xlUp).Row & ", L7:L" & Cells(Rows.Count, 12).End(xlUp).Row)
If Cell = "" Then GoTo GNext
If Application.WorksheetFunction.CountIf(Range("C7:C10000"), Cell & "#" & Cell.Offset(0, 1)) = 0 Then
    Cells(Rows.Count, 3).End(xlUp).Offset(1, 0) = Cell & "#" & Cell.Offset(0, 1)
End If
GNext:
Next Cell
   Columns("C:C").TextToColumns Destination:=Range("C1"), DataType:=xlDelimited, _
        TextQualifier:=xlDoubleQuote, Other:=True, OtherChar _
        :="#", FieldInfo:=Array(1, 1), TrailingMinusNumbers:=True
    Range("C6").Select

End Sub

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

prelevare grande quantita di informazioni & poi filtrarle

Postdi raimea » 27/02/11 07:45

mannaggia... :undecided:
anche questa non funziona ma cosa strana non da nemmeno nessun errore.
ma in col C non scrive nulla.

per il tipo di dati da filtrare
dovrebbe filtrare la singola squadra nelle varie colonne F.I.L.O.R
riportarla in col C con la relativa nazione a fianco in col. D
nel caso la squadra abbia pertecip a comp.europ. - amichevoli ecc.. in col C
in questo caso se era un evento diverso si dovra riportare la stessa squadra.

quindi per Es. inter scrivera' inter - italy
e sotto inter - comp. eur.

ho notato che quando prelevo mi riporta anche il formato esempio la format. condiz
(cosa che non mi serve) in questo foglio,
non e' che e' cio che crea problemi ?

http://www.sendspace.com/file/gq2wdv
S.O. win10, Excell 2019
Avatar utente
raimea
Utente Senior
 
Post: 1410
Iscritto il: 11/02/10 07:33
Località: lago

Re: prelevare grande quantita di informazioni

Postdi Anthony47 » 27/02/11 10:21

Il tuo file contiene da C81 a C499 dei dati probabilmente sperimentali; da C500 in avanti trovi i risultati dei vari tentativi effettuati, compreso (da 2499) l' ultima macro.
Potrebbe esserti utile inserire all' inizio queste istruzioni (CANCELLANO Valori preesistenti!):
Codice: Seleziona tutto
Range("C:D").Clear
Range("C6").FormulaR1C1 = "Generale"
Range("C6").Font.Bold = True

La macro non riporta formattazioni condizionali, presumo che anche queste siano preesistenti nella colonna C e verranno eliminate dal ("C:D").Clear

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

Re: prelevare grande quantita di informazioni

Postdi raimea » 27/02/11 11:45

si era quello
ora ho sistemato e mette in ordine correttamente
grazie 1000
S.O. win10, Excell 2019
Avatar utente
raimea
Utente Senior
 
Post: 1410
Iscritto il: 11/02/10 07:33
Località: lago

prelevare grande quantita di informazioni & creare elenco un

Postdi raimea » 27/02/11 12:54

info
quando faccio girare x la 1ma volta la macro -creaelenco - scrive " generale" in C1
poi se ri-premo scrive "generale" in C6 correttamente come vorrei.

inoltre vorrei colorare le righe con lo stessa iniziale
per distinguere i gruppi, mi basterebbero 2 colori alterni.

ho fatto con formattaz condiz inserendo
=E(RESTO(SOMMA(--(SINISTRA($c$7:$c8;1)<>SINISTRA($c$6:$c7;1)));2)=0;$c8<>"")
=E(RESTO(SOMMA(--(SINISTRA($c$7:$c8;1)<>SINISTRA($c$6:$c7;1)));2)=1;$c8<>"")

e questo funziona, solo che quando la macro -gira- mi toglie tale formattazione

http://www.sendspace.com/file/3ell1k
S.O. win10, Excell 2019
Avatar utente
raimea
Utente Senior
 
Post: 1410
Iscritto il: 11/02/10 07:33
Località: lago

Re: prelevare grande quantita di informazioni

Postdi Anthony47 » 27/02/11 13:20

Per lasciare la formattazione:
Codice: Seleziona tutto
Range("C:D").Clearcontents  'serve a pulire col C e D

Buffo che la prima volta trasli i dati su riga 1...
Per evitarlo usa
Codice: Seleziona tutto
   Range("C7:C10000").TextToColumns Destination:=Range("C7"), DataType:=xlDelimited, _

NB: se pensi di avere piu' di 1000 righe, allora cambia la parte CountIf(Range("C7:C1000") in CountIf(Range("C7:C10000")
(il 10mila righe ci stai, vero?)

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

Re: prelevare grande quantita di informazioni

Postdi raimea » 27/02/11 13:37

ok la 1ma :P
ora la fomattaz condiz rimane .

x la 2da modifica invece, se scrivo
Range("C7:C10000").TextToColumns Destination:=Range("C7"), DataType:=xlDelimited, _


modificanda da C1 in C7 la macro va in errore si blocca.
io vorrei scrivere - generale- in C6
ed iniziare l'elenco in c7
grazie x la velocita nelle risposte.
S.O. win10, Excell 2019
Avatar utente
raimea
Utente Senior
 
Post: 1410
Iscritto il: 11/02/10 07:33
Località: lago

Re: prelevare grande quantita di informazioni

Postdi raimea » 27/02/11 14:22

ok
ho risolto modificando le prime 3 istruzioni come segue.

Codice: Seleziona tutto
Range("C:D").ClearContents  'serve a pulire col C e D e lasciare formatz condiz
Range("C7").FormulaR1C1 = "Elenco Generale"
Range("C8").Font.Bold = True


grazie.
S.O. win10, Excell 2019
Avatar utente
raimea
Utente Senior
 
Post: 1410
Iscritto il: 11/02/10 07:33
Località: lago

prelevare grande quantita di informazioni & poi filtrarle

Postdi raimea » 27/02/11 19:37

sono ai piccoli ritocchi
quando faccio girare la macro che crea l'elenco generale alla fine mi chiede
se voglio sostituire il contenuto

Immagine

vorrei poter rispondere SI, automaticamente.
questo il file.

http://www.sendspace.com/file/51b1i2
S.O. win10, Excell 2019
Avatar utente
raimea
Utente Senior
 
Post: 1410
Iscritto il: 11/02/10 07:33
Località: lago

Re: prelevare grande quantita di informazioni

Postdi PcBase » 27/02/11 20:04

Ciao raimea
Salutoni a tutti mi sono appena iscritto!

Per disabilitare il messaggio devi aggiungere la seguente istruzione:

Codice: Seleziona tutto
Sub creaelenco()

ActiveSheet.Unprotect
Application.DisplayAlerts = False
Windows xp + Office 2003 Ita
Windows8 Office 2013
PcBase
Utente Senior
 
Post: 143
Iscritto il: 24/02/11 23:26

Re: prelevare grande quantita di informazioni

Postdi raimea » 27/02/11 20:11

ottimo
fatto e funge.
grazie "pc base"
ma meno base di me... :lol:
ciao, ben venuto nell' unico forum serio e perfetto per excell
S.O. win10, Excell 2019
Avatar utente
raimea
Utente Senior
 
Post: 1410
Iscritto il: 11/02/10 07:33
Località: lago

Re: prelevare grande quantita di informazioni

Postdi PcBase » 27/02/11 20:23

Ciao seconda risposta

Codice: Seleziona tutto
Sub creaelenco()

ActiveSheet.Unprotect
Application.DisplayAlerts = False

Application.Calculation = xlCalculationManual
Application.ScreenUpdating = False
Application.EnableEvents = False
'----------------------------
'Qui il seguito del codice
'----------------------------
Application.Calculation = xlCalculationAutomatic
'Application.ScreenUpdating = True
Application.EnableEvents = True
End Sub


Utilizzando tutte o alcune di queste istruzioni vedrai diminuire drasticamente il tempo necessario all'aggiornamento dei dati.
Windows xp + Office 2003 Ita
Windows8 Office 2013
PcBase
Utente Senior
 
Post: 143
Iscritto il: 24/02/11 23:26

Re: prelevare grande quantita di informazioni

Postdi Anthony47 » 27/02/11 23:53

Ciao PcBase, benvenuto nel forum anche da parte mia.
Avatar utente
Anthony47
Moderatore
 
Post: 19196
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: prelevare grande quantita di informazioni

Postdi raimea » 28/02/11 05:53

mamma mia :o
ora la macro sembra un missile.

grazie
S.O. win10, Excell 2019
Avatar utente
raimea
Utente Senior
 
Post: 1410
Iscritto il: 11/02/10 07:33
Località: lago

Re: prelevare grande quantita di informazioni

Postdi ivo » 28/02/11 17:47

mi intrometto nella discussione per chiedere una cosuccia ...
visto il vostro livello alto di conoscenza di macro per excel, chiedo suggerimenti per recuperare dispense ed esercizi per poter diventare bravi come voi.
Perché io le macro le faccio con il registratore e poi modifico poco poco...
Immagine
Avatar utente
ivo
Utente Senior
 
Post: 1135
Iscritto il: 20/08/01 01:00
Località: Treviso

Prossimo

Torna a Applicazioni Office Windows


Topic correlati a "prelevare grande quantita di informazioni":


Chi c’è in linea

Visitano il forum: Nessuno e 108 ospiti