Valutazione 4.87/ 5 (100.00%) 5838 voti

Condividi:        

[EXCEL] Macro complessa per ricerca e compilazione

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

Re: [EXCEL] Macro complessa per ricerca e compilazione

Postdi Bruder » 07/06/11 14:17

Ho controllato 100 abbinamenti così a campione e risultato tutti corretti.
E' fantastico!!

Ora mi studio bene lo script perchè voglio capire cosa fa esattamente ciascun comando, così la prossima volta magari riesco a fare da solo!

Grazie davvero per l'aiuto avatar, sei un grande!! poi fammi avere gli estremi bancari per il bonifico :D

Se ho bisogno d'alto mi rifaccio vivo! :)
Bruder
Utente Junior
 
Post: 29
Iscritto il: 06/06/11 18:30

Sponsor
 

Re: [EXCEL] Macro complessa per ricerca e compilazione

Postdi Avatar3 » 07/06/11 14:29

:)
Per il funzionamento delle macro si deve impostare la protezione a Bassa o Media.
Menu Strumenti -> Macro -> Protezione...
Avatar utente
Avatar3
Utente Senior
 
Post: 569
Iscritto il: 04/04/11 09:04

Re: [EXCEL] Macro complessa per ricerca e compilazione

Postdi Bruder » 07/06/11 15:30

E se volessi formattare le date riportate in colonna C su Ws3 nel seguente modo: ggmmaaaa

Ad esempio voglio che 01/05/2011 diventi 01052011.

Io mi sono inventato la seguente (fantomatica) stringa di codice: Ws3.Columns("C:C").DateFormat = "ddmmyyyy"

Purtroppo la mia creatività non è supportata dalla sintassi di VBA... :D :D
Bruder
Utente Junior
 
Post: 29
Iscritto il: 06/06/11 18:30

Re: [EXCEL] Macro complessa per ricerca e compilazione

Postdi Avatar3 » 07/06/11 17:41

Sicuro che non vuoi spazi o slash o altro tra giorno mese e anno ?

Se sei sicuro puoi usare questa riga di codice al posto di quella che hai nella macro

Codice: Seleziona tutto
Ws3.Cells(Rows.Count, 3).End(xlUp).Offset(1, 0).Value = Format(Ws1.Range("M" & RR1).Value + Ga, "ddmmyyyy")
Per il funzionamento delle macro si deve impostare la protezione a Bassa o Media.
Menu Strumenti -> Macro -> Protezione...
Avatar utente
Avatar3
Utente Senior
 
Post: 569
Iscritto il: 04/04/11 09:04

Re: [EXCEL] Macro complessa per ricerca e compilazione

Postdi Bruder » 08/06/11 07:36

Uhm, ho provato a sostituire la stinga che dici tu ma mi viene fuori una cosa strana..
A schermo vedo solo delle serie interminabili di ########## (non è un probema di larghezza delle celle, anche se le ingrandisco si allunga solo la stringa di ##########), se vi posiziono sopra il cursore invece, nella barra delle formule, visualizzo correttamente la data formattata come voglio io.

Altro problema, le date che cominciano con 0 non hanno, appunto, lo 0 all'inizio. Vale a dire 05102011 lo vedo scritto 5102011.

Ho risolto aggiungendo a fine script la seguente riga:
Ws3.Columns("C:C").NumberFormat = "00000000"

Direi che ora è perfetto! Grazie come sempre avatar, sei il migliore!!
Bruder
Utente Junior
 
Post: 29
Iscritto il: 06/06/11 18:30

Re: [EXCEL] Macro complessa per ricerca e compilazione

Postdi Avatar3 » 08/06/11 08:47

effettivamente quando si inserisce il formato "ddmmyyyy" dà la serie di #### .
Avevo inserito il codice direttamente nel form del post senza provarlo
ora facendo delle prove e lasciando uno spazio tra dd e mm si ottiene il numero corretto "dd mmyyyy"
oppure "ddmm yyyy".
ho provato a formattare come hai descritto (otto zeri) ed in effetti si ottiene ciò che desideravi quindi penso che hai risolto da solo perché quella colonna era in formato data e quindi la serie di numeri erano "incomprensibili" per excel
Quello che so l'ho imparato da questo forum e non credo proprio di essere il migliore :D
Comunque grazie ;)
Per il funzionamento delle macro si deve impostare la protezione a Bassa o Media.
Menu Strumenti -> Macro -> Protezione...
Avatar utente
Avatar3
Utente Senior
 
Post: 569
Iscritto il: 04/04/11 09:04

Re: [EXCEL] Macro complessa per ricerca e compilazione

Postdi Bruder » 09/06/11 11:54

Sto impazzendo. Ho ampliato la macro ed ora vorrei che eseguisse ancora un'operazione, peraltro semplicissima:
vorrei che mi ordinasse le righe sia di Foglio1 che di Foglio2 in base alle date contenute nelle rispettive colonne O.
Le voglio in ordine dalla più vecchia (in cima al foglio) alla più recente (in fondo al foglio).

Così non va:
Codice: Seleziona tutto
Ws1.Sort.SortFields.Clear
    Ws1.Sort.SortFields.Add Key:=Range("O:O"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
    With Ws1.Sort
        .Header = xlYes
        .MatchCase = False
        .Orientation = xlTopToBottom
        .SortMethod = xlPinYin
    End With


E così neppure:
Codice: Seleziona tutto
Ws1.Range("A2:AA" & UR1).Sort Key:=Range("O2"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
    With Ws1.Sort
        .Header = xlYes
        .MatchCase = False
        .Orientation = xlTopToBottom
        .SortMethod = xlPinYin
    End With


Qualcuno mi illumini prima che perda la testa! :evil: :diavolo: :evil:

Per favore si intende :D
Bruder
Utente Junior
 
Post: 29
Iscritto il: 06/06/11 18:30

Re: [EXCEL] Macro complessa per ricerca e compilazione

Postdi Bruder » 09/06/11 11:57

E se scrivo così:

Codice: Seleziona tutto
    Ws2.Sort.SortFields.Clear
    Ws2.Sort.SortFields.Add Key:=Range("O2"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
    With Ws2.Sort
        .Header = xlYes
        .MatchCase = False
        .Orientation = xlTopToBottom
        .SortMethod = xlPinYin
        .Apply
    End With


Mi dice: Riferimento di ordinamento non valido. Assicurarsi che sia compreso nei dati da ordinare e che la prima casella ordina non sia vuota.
Il debug mi evidenzia la riga .Apply
Bruder
Utente Junior
 
Post: 29
Iscritto il: 06/06/11 18:30

Re: [EXCEL] Macro complessa per ricerca e compilazione

Postdi Avatar3 » 09/06/11 13:36

Nei fogli che hai inviato non ci sono dati nella colonna O
la data si trovava sulla colonna M
pertanto per avere l'ordinamento per data puoi usare questa macro
Codice: Seleziona tutto
Sub Ordina()

    Columns("A:O").Select
    Selection.Sort Key1:=Range("M2"), Order1:=xlAscending, Key2:=Range("E2") _
        , Order2:=xlAscending, Header:=xlGuess, OrderCustom:=1, MatchCase:= _
        False, Orientation:=xlTopToBottom, DataOption1:=xlSortNormal, DataOption2 _
        :=xlSortNormal
End Sub


se vuoi ordinare la colonna O sostituisci Range("M2"), con Range("O2"),

Oltre alla data ho dato anche una seconda colonna di ordinamento la colonna codice (E),
a parità di data metterà in ordine crescente questi Codici
Per il funzionamento delle macro si deve impostare la protezione a Bassa o Media.
Menu Strumenti -> Macro -> Protezione...
Avatar utente
Avatar3
Utente Senior
 
Post: 569
Iscritto il: 04/04/11 09:04

Re: [EXCEL] Macro complessa per ricerca e compilazione

Postdi Bruder » 09/06/11 13:55

Sì il file è cambiato un poco ora, quindi le colonne non corrispondono più. Lo script da te postato (e da me modificato nella seguente maniera) funziona:

Codice: Seleziona tutto
Ws1.Columns("A:Z").Select
    Ws1.Selection.Sort Key1:=Range("O2"), Order1:=xlAscending, Key2:=Range("O2") _
        , Order2:=xlAscending, Header:=xlGuess, OrderCustom:=1, MatchCase:= _
        False, Orientation:=xlTopToBottom, DataOption1:=xlSortNormal, DataOption2 _
        :=xlSortNormal


Ma se provo ad aggiungere anche l'istruzione per ordinare le date sul foglio 2 mi dà errore:

Codice: Seleziona tutto
Ws1.Columns("A:Z").Select
    Ws1.Selection.Sort Key1:=Range("O2"), Order1:=xlAscending, Key2:=Range("O2") _
        , Order2:=xlAscending, Header:=xlGuess, OrderCustom:=1, MatchCase:= _
        False, Orientation:=xlTopToBottom, DataOption1:=xlSortNormal, DataOption2 _
        :=xlSortNormal
       
Ws2.Columns("A:AB").Select
    Ws2.Selection.Sort Key1:=Range("O2"), Order1:=xlAscending, Key2:=Range("O2") _
        , Order2:=xlAscending, Header:=xlGuess, OrderCustom:=1, MatchCase:= _
        False, Orientation:=xlTopToBottom, DataOption1:=xlSortNormal, DataOption2 _
        :=xlSortNormal


Il debug segnala la riga "Ws2.Columns("A:AB").Select".
Un'altra domanda, così capisco meglio, cosa significa Key1:=Range("O2") e Key2:=Range("O2")?
Bruder
Utente Junior
 
Post: 29
Iscritto il: 06/06/11 18:30

Re: [EXCEL] Macro complessa per ricerca e compilazione

Postdi Bruder » 09/06/11 13:59

Perdonami ho letto solo ora cosa avevi scritto riguardo al Key2:=Range("E").

In realtà non ho bisogno di ordinare i codici a parità di data, è sufficiente che mi ordini tutte le righe in funzione delle date nella colonna O, nulla più.
Bruder
Utente Junior
 
Post: 29
Iscritto il: 06/06/11 18:30

Re: [EXCEL] Macro complessa per ricerca e compilazione

Postdi Bruder » 09/06/11 14:17

Ho risolto così (ormai me la canto e me la suono da solo):

Codice: Seleziona tutto
Ws1.Range("A2:Z" & UR1).Sort Key1:=Ws1.Range("O2"), Order1:=xlAscending, Header:=xlGuess, OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, DataOption1:=xlSortNormal
Ws2.Range("A2:AB" & UR2).Sort Key1:=Ws2.Range("O2"), Order1:=xlAscending, Header:=xlGuess, OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, DataOption1:=xlSortNormal
Bruder
Utente Junior
 
Post: 29
Iscritto il: 06/06/11 18:30

Re: [EXCEL] Macro complessa per ricerca e compilazione

Postdi ipsoware » 16/05/13 01:03

Rieccomi qui. Vi devo ancora ringraziare per l'aiuto prezioso che mi avete dato.
Avrei la necessita tramite una macro di compilare un file chiamato output_7.csv già formattato che vi allego con i dati presenti nel file cat.csv
Per comodità ho inserito direttamente nel file output_7.csv, dove la macro deve andare a pescare i dati.
I file si chiamano sempre nella stessa maniera .
Mi potete aiutare nella compilazione di questa macro?

http://www.ecartucce.it/file.zip

Grazie :oops:
ipsoware
Utente Junior
 
Post: 40
Iscritto il: 01/05/13 07:25
Località: Viterbo

Re: [EXCEL] Macro complessa per ricerca e compilazione

Postdi Flash30005 » 16/05/13 07:32

Ben tornato

Non è molto chiaro (almeno per me) capire cosa dovrebbe essere riportato nel file output_7.csv

Ciao
Flash
Win7 + Office 2010 Ita
"Fotografica" al servizio dell'immagine

Ottime opportunità di lavoro (part-time o full-time) con guadagni immediati. Info in MP
Avatar utente
Flash30005
Moderatore
 
Post: 8460
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: [EXCEL] Macro complessa per ricerca e compilazione

Postdi ipsoware » 16/05/13 11:53

Hai ragione nel file output_7.csv avevo inserito le istruzioni che sono andate perse.
Per comodità te lo scrivo qui di seguito:

La colonna A del file Output_7.csv deve importare i dati dalla colonna C del file cat.csv
La colonna B del file Output_7.csv deve importare i dati dalla colonna D del file cat.csv
La colonna C del file Output_7.csv deve importare i dati dalla colonna J del file cat.csv
La colonna D del file Output_7.csv deve importare i dati dalla colonna D+A+B del file cat.csv separati da un trattino (-)
La colonna E del file Output_7.csv deve importare i dati dalla colonna F del file cat.csv
La colonna F del file Output_7.csv non va compilata
La colonna G del file Output_7.csv deve importare i dati dalla colonna E del file cat.csv
La colonna H del file Output_7.csv deve importare i dati dalla colonna A+B del file cat.csv separati da un trattino (-)
La colonna I del file Output_7.csv deve importare i dati dalla colonna G del file cat.csv aggiungendo a quel valore il 30% e essere formato numero con due cifre decimali
La colonna J del file Output_7.csv deve importare i dati dalla colonna G del file cat.csv aggiungendo a quel valore il 20% e essere formato numero con due cifre decimali
La colonna K del file Output_7.csv deve importare i dati dalla colonna G del file cat.csv
La colonna L del file Output_7.csv non va compilata
La colonna M del file Output_7.csv non va compilata
La colonna N del file Output_7.csv deve importare i dati dalla colonna H del file cat.csv
La colonna O del file Output_7.csv non va compilata
La colonna P del file Output_7.csv deve contenere sempre il valore uguale a 1
La colonna Q del file Output_7.csv non va compilata
La colonna R del file Output_7.csv non va compilata
La colonna S del file Output_7.csv deve importare i dati dalla colonna I del file cat.csv
La colonna T del file Output_7.csv deve contenere sempre il valore uguale a 7
Grazie ancora per la disponibilità
ipsoware
Utente Junior
 
Post: 40
Iscritto il: 01/05/13 07:25
Località: Viterbo

Re: [EXCEL] Macro complessa per ricerca e compilazione

Postdi Flash30005 » 16/05/13 19:27

Non trovo in G alcun valore da poter moltiplicare per 1,3 o 1,2
La macro l'avrei realizzata ma va in errore perché in G trova una lunga stringa "incomprensibile"

ciao
Flash
Win7 + Office 2010 Ita
"Fotografica" al servizio dell'immagine

Ottime opportunità di lavoro (part-time o full-time) con guadagni immediati. Info in MP
Avatar utente
Flash30005
Moderatore
 
Post: 8460
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: [EXCEL] Macro complessa per ricerca e compilazione

Postdi ipsoware » 16/05/13 23:55

Scusa ma non so proprio cosa può essere successo perchè io il file lo leggo bene.
te lo allego senza zipparlo http://www.ecartucce.it/cat.csv
Ora dovrebbe andare è un semplice file csv

Grazie
ipsoware
Utente Junior
 
Post: 40
Iscritto il: 01/05/13 07:25
Località: Viterbo

Re: [EXCEL] Macro complessa per ricerca e compilazione

Postdi Anthony47 » 17/05/13 01:53

Ma questo lavoro si fa con formule elementari; esempio
-si importa in Foglio1 il file cat.csv
-in A1 di foglio2 si usa la formula =Foglio1!C1
-in B1 di Foglio2 =Foglio1!D1
e cosi' via per le altre colonne, secondo la mappatura che si preferisce.
Poi si copiano verso il basso.
Alla fine si salva Foglio2 in formato Csv

Si puo' fare anche via macro, ma scrivere le stesse cose in vba e' sicuramente piu' lungo.

E comunque per importare dati da pagine web, se le condizioni d' uso del sito lo consentono, ci sono altre tecniche piu' automatiche; se descrivi il tuo problema possiamo provare ad automatizzare direttamente dal sito.

Ciao
Anthony
Win7 + Office 2010 Ita; Win 7 + Office 2013 Ita
Xp + Office 2003 Ita
E voi cosa usate? (per istruzioni vedere viewtopic.php?f=26&t=97449)
Avatar utente
Anthony47
Moderatore
 
Post: 13904
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: [EXCEL] Macro complessa per ricerca e compilazione

Postdi ipsoware » 17/05/13 07:45

Si hai ragione ma è proprio questo che volevo evitare di fare un copia in colla. Inoltre mi serve un foglio provo di formule in quanto a sua volta deve essere elaborato da una procedura web che da errore se trova un file "sporco".

Ciao
ipsoware
Utente Junior
 
Post: 40
Iscritto il: 01/05/13 07:25
Località: Viterbo

Re: [EXCEL] Macro complessa per ricerca e compilazione

Postdi Anthony47 » 17/05/13 09:34

Nella mia ipotesi non ci sono copia /incolla, oltre a quello necessario per copiare le formule in verticale.

Ciao
Anthony
Win7 + Office 2010 Ita; Win 7 + Office 2013 Ita
Xp + Office 2003 Ita
E voi cosa usate? (per istruzioni vedere viewtopic.php?f=26&t=97449)
Avatar utente
Anthony47
Moderatore
 
Post: 13904
Iscritto il: 21/03/06 16:03
Località: Ivrea

PrecedenteProssimo

Torna a Applicazioni Office Windows


Topic correlati a "[EXCEL] Macro complessa per ricerca e compilazione":


Chi c’è in linea

Visitano il forum: Nessuno e 7 ospiti