Valutazione 4.87/ 5 (100.00%) 5838 voti

Condividi:        

[Excel] Trasposizione di dati

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

[Excel] Trasposizione di dati

Postdi gimar » 19/05/06 18:36

Salve,amici,
sono nuovo del forum e di vba.Vorrei chiedere 3 cose,facili per chi conosce il vba e difficili per chi lo apprende da solo.
1-Come si fa ,avendo due fogli,a ottenere questo risultato:
Es.Foglio 2(A1)=Foglio 2(A1)+Foglio 1(A1)

2-Sempre 2 fogli,
Nel foglio 1 ho dati da A:A30,vorrei traslarli nel foglio 2 in A1,B1,C1..........

3- Come si fa a far partire la memorizzazione di un range di celle(nel foglio 2) partendo da una riga che è data da un numero contenuto in B8(foglio1)

Spero di non avervi annoiato,e attendo con ansia chiunque può darmi una mano.
Complimenti per la vostra competenza e disponibilità!!!!

Ciao

*** Metti titoli esatti la prossima volta
Nella valle dei ciechi,un orbo é RE.!
gimar
Utente Junior
 
Post: 63
Iscritto il: 19/05/06 18:31
Località: perugia

Sponsor
 

Postdi Anthony47 » 19/05/06 19:40

Ciao e benvenuto.
La 1 non si puo' fare come dici, perche' genereresti un "riferimento circolare", cioe' un valore in ingresso (A1 di Foglio 2) che e' modificato dal valore in uscita dalla formula; devi passare su una cella, es in B1 di foglio 2 dove scriverai =A1+Foglio1!A1. In alternativa devi usare una macro, ma non credo che sia necessario, ci sono abbastanza colonne in un foglio excel...

Per la 2, prova a usare il concetto di offset (scarto, in italiano); in A1 di foglio2 usa la formula =SCARTO(Foglio1!$A$1,RIF.COLONNA(A1)-1,0) che poi copi nelle colonne adiacenti quanto basta.

La 3 non l' ho capita bene, prova a essere piu' esplicito; in particolare, cosa intendi per "Memorizzazione"?

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: 13891
Iscritto il: 21/03/06 16:03
Località: Ivrea

Postdi Alexsandra » 19/05/06 20:01

Dovresti spegare meglio il problema
- Il primo fondamento della sicurezza non e' la tecnologia, ma l'attitudine mentale.

Win7 + Office 2003 Ita
Avatar utente
Alexsandra
Utente Senior
 
Post: 2358
Iscritto il: 09/01/06 20:31

Postdi gimar » 19/05/06 20:16

Grazie per la celere risposta.
Cerco di farti capire meglio:
In un foglio(1)ho dalla G3:G22 e dalla L3:L22 delle quantità,una per riga e in una cella C13 ho un numero(incrementato da una macro.

Vorrei nel foglio(2) in riga data dal numero in C13(foglio 1),a partire da una certa colonna G riportare in riga(trasposti)i valori presenti in G3(foglio1).
Esempio
Foglio 2(riga C13 foglio1,colonna G)=foglio 1(G3)
Foglio 2(riga C13 foglio1,colonna H)=foglio 1(H3)
Foglio 2(riga C13 foglio1,colonna I)=foglio 1(I3)
...
...
...
Non xredo di essere stato molto chiaro,ma se vuoi posso postrti quello che ho già fatto per vedere se fosse più comprensibile.

Scusate per il titolo,ma pensavo fosse quello che rendeva più l'idea.

Grazie
gianni
Nella valle dei ciechi,un orbo é RE.!
gimar
Utente Junior
 
Post: 63
Iscritto il: 19/05/06 18:31
Località: perugia

Postdi gimar » 19/05/06 20:18

Nella valle dei ciechi,un orbo é RE.!
gimar
Utente Junior
 
Post: 63
Iscritto il: 19/05/06 18:31
Località: perugia

Postdi gimar » 19/05/06 20:34

Sono ancora io,l'imbranato di turno,volevo modificare il post,ma non sono riuscito a farlo(o non é possibile).
Come potete vedere dall'allegato,nel foglio Riepilogo,nelle celle che vanno da B3:B42 vorrei poter mettere i dati relativi a ogni articolo,sommati al totale precedente(in modo da avere sempre sotto occhio il num. complessivo di ogni articolo venduto.
Oppure in alternativa,creare un foglio dove nella riga data dal num.orine(foglio Ordine) mi riporti per ogni ordine gli articoli venduti(colonna traslata in orizzontale).

Ho raccapezzato qualche cosa,ma non capendo molto delle relazioni tra fogli,sono in alto mare.
Tiratemi una ciambella di salvataggio.!!!!
Di nuovo grazie
gianni
P.S.
(Se siete riuscitit a capirmi,oltre che maghi di VBA,
siete anche dei GENI)!!!
Nella valle dei ciechi,un orbo é RE.!
gimar
Utente Junior
 
Post: 63
Iscritto il: 19/05/06 18:31
Località: perugia

Postdi Alexsandra » 19/05/06 21:30

Non è possibile modificare i post, è una regola del forum in quanto si cerca di responsabilizzare di più gli utenti,per cui prima di postare è buona regola rileggersi il post prima di inviarlo.
Il tuo link non funziona e non è possibile scaricare il tuo file,ripostalo e prima di inviare clicca su anteprima e verifica che il link funzioni.

Con il file è molto più semplice capire il tuo problema.
Ciao
- Il primo fondamento della sicurezza non e' la tecnologia, ma l'attitudine mentale.

Win7 + Office 2003 Ita
Avatar utente
Alexsandra
Utente Senior
 
Post: 2358
Iscritto il: 09/01/06 20:31

Postdi gimar » 19/05/06 23:30

Nella valle dei ciechi,un orbo é RE.!
gimar
Utente Junior
 
Post: 63
Iscritto il: 19/05/06 18:31
Località: perugia

Postdi Anthony47 » 20/05/06 01:59

Il file .rar io non so con cosa aprirlo....

Vorrei inoltre sapere che relazione c' e' tra quanto scritto alle 20:34 e quanto scritto alle 20:16, anche se probabilmente col file davanti potrei capirlo da solo.

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: 13891
Iscritto il: 21/03/06 16:03
Località: Ivrea

Postdi gimar » 20/05/06 10:29

Ciao,per aprire il file .rar,occorre il programma Winrar,facilmente reperibile in rete.
Diciamo che due delle 3 cose richieste sono riuscito a risolverle,e con il file davanti,nel foglio Note,troverai l'ultimo problema che mi ha bloccato.
Se non riesci a reperire Winrar te lo posso postare.
Fammi sapere
Grazie e ciao
gianni
Nella valle dei ciechi,un orbo é RE.!
gimar
Utente Junior
 
Post: 63
Iscritto il: 19/05/06 18:31
Località: perugia

Postdi Anthony47 » 20/05/06 11:47

Ti e' possibile mandarmelo in formato zip (winzip o MS cartelle compresse)? o anche in formato nativo, non credo che sia un file enorme.

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: 13891
Iscritto il: 21/03/06 16:03
Località: Ivrea

Postdi Alexsandra » 20/05/06 12:30

Prova da quì Antony è in Xls
http://freefilehosting.net/?id=pdv3kaXZ
- Il primo fondamento della sicurezza non e' la tecnologia, ma l'attitudine mentale.

Win7 + Office 2003 Ita
Avatar utente
Alexsandra
Utente Senior
 
Post: 2358
Iscritto il: 09/01/06 20:31

Postdi Anthony47 » 20/05/06 23:57

Intanto grazie ad Alexsandra che mi ha inviato l’ xls.

Per la compilazione del foglio Note, mi sembra questo l’ ultimo problema, io procederei in questo modo.
Intanto ti assicuri di avere nel foglio Note l’ esatta sequenza delle voci che ci sono in Ordine, per questo metti in B2 (tra poco spiego perche’ riga 2) =SCARTO(Ordine!$E$1;RIF.COLONNA(B2);0) e copi questa formula fino a U2;
Metti in V2 =SCARTO(Ordine!$J$1;RIF.COLONNA(V2)-20;0) e copi fino a AO2

In A2 segni, come ora “Numero Ordine”

La riga 1 la usiamo per avere in orizzontale una copia dell’ ordine, usando formule simili a quelle usate per l’ intestazione; quindi:
B1 =SCARTO(Ordine!$G$1;RIF.COLONNA(B2);0) che copi fino a U1
V1 =SCARTO(Ordine!$L$1;RIF.COLONNA(V2)-20;0) che copi fino a AO1
A1 =Ordine!C13

Poi selezioni A1:AO1 e assegni il nome “summary” a questo range

Devi infine aggiungere il seguente codice all’ interno della macro Nuovoordine, subito dopo il secondo Next y:
Codice: Seleziona tutto
Sheets("Note").Select           'Fase di memorizzazione ordine
NORD = Range("A1").Value        'prendi Numero ordine
Range("Summary").Copy           'Copia Summary dell' ordine
Range("A1").Offset(NORD, 0).Select '   e copialo sulla riga giusta
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
La macro continua regolarmente con
Codice: Seleziona tutto
Sheets("Ordine").Select                 
    Range("G3:G22,L3:L22").Select
    Etc etc
Un commento sul codice scritto: invece di usare indirizzamenti fissi (es. Range("L3:L22").Select) io assegnerei piu’ spesso un nome a quel range e poi userei il nome negli indirizzi; da una parte e’ piu’ semplice leggere il codice (es. Range(“Qt_Bevande”).Select) e dall’ altra se aggiungi, sposti, cancelli sul foglio di partenza il nome punta sempre (… spesso) all’ area giusta.

Buona sagra…
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: 13891
Iscritto il: 21/03/06 16:03
Località: Ivrea

Postdi gimar » 21/05/06 11:32

Non ho parole,
siete semplicemente fantastici.Hai ragione Anthony,con il nome del range sarebbbe più facile .Provvederò.Se ti facesse piacere,alla fine del lavoro,vorrei postartelo per avere commenti e/o suggerimenti.
Per il momento GRAZIE.
Un buffetto sulla guancia ad alexsandra e una stretta di mano a te.
ciao
gianni
Nella valle dei ciechi,un orbo é RE.!
gimar
Utente Junior
 
Post: 63
Iscritto il: 19/05/06 18:31
Località: perugia

Postdi Anthony47 » 22/05/06 22:06

Invece di postare il file completo, posta un invito a cena a tutti i frequentatori del forum.... Senza fare preferenze.

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: 13891
Iscritto il: 21/03/06 16:03
Località: Ivrea


Torna a Applicazioni Office Windows


Topic correlati a "[Excel] Trasposizione di dati":


Chi c’è in linea

Visitano il forum: Nessuno e 12 ospiti

cron