Benvenuto Ospite Cerca | Topic Attivi | Utenti | | Log In | Registra

macro - copy /paste Opzioni
luca.serra73
Inviato: Sunday, April 29, 2007 4:28:03 PM
Rank: Member

Iscritto dal : 4/22/2007
Posts: 0
ciao a tutti: visto che non avete risposto immagino di avere spiegato male il problema per cui provo ad essere un po' più dettagliato:

a) Nel foglio1 del file excel ho un db di dati ordinato dal progressivo 1 al progressivo 100.

b) Nel foglio2 dello steso file, in base al numero progressivo che digito a mano sulla cella A2, ricavo tramite un cerca.verticale i dati legati a quel numero progressivo e contenuti nel db del foglio1. I valori di interesse, nome, cognome, età, indirizzo, si posizionano nelle celle b2,c2,d2,e2 del foglio2.

c) Ho costruito una macro che, nelle mie intenzioni, dal foglio2 dovrebbe fare copia incolla di questi valori sul foglio3 dello stesso file excel. Questo passaggio di valori dal foglio1 al foglio2 al foglio3 sembra stupido, ma in realtà sto semplificando il problema per renderlo più facilmente spiegabile.

Sin qui tutto ok, il problema è che i valori sulla riga da copiare dal foglio2 cambiano di volta in volta in base al progressivo inserito, per cui vorrei che la macro di volta in volta incollasse, nel foglio3, i nuovi valori su una riga vuota successiva a quella in cui ho incollato i valori precedenti e che questa procedura si ripetesse sempre, ossia l'incolla dovrebbe sempre avvenire nella riga successiva all'incolla precedente.

Invece, nel mio caso, il sistema funziona solo la prima volta, poi, la volta successiva, la macro sovrascrive i dati nella stessa riga del foglio3. Credo che il problema stia nei riferimenti assoluti, o nella mancanza di funzioni + complesse tipo IF o For, purtroppo, però, non conosco la soluzione.

Vi lascio le istruzioni elementari che ho costruito io:

Macro2 Macro
' Macro registrata il 22/04/2007 da luca
'
' Scelta rapida da tastiera: CTRL+MAIUSC+S
'
Range("A2").Select
Range(Selection, Selection.End(xlToRight)).Select
Selection.Copy
Sheets("Foglio3").Select
Range("A2").Select
ActiveCell.Offset(1, 0).Range("A1").Select
ActiveSheet.Paste
Sheets("Foglio2").Select
Range("A2").Select
Application.CutCopyMode = False
Selection.ClearContents

Grazie per tutto ciò che potrete consigliarmi e mi scuso se nella richiesta precedente sono stato poco chiaro.

Luca
Sponsor
Inviato: Sunday, April 29, 2007 4:28:03 PM

 
a10n11
Inviato: Monday, April 30, 2007 10:07:59 AM

Rank: AiutAmico

Iscritto dal : 5/29/2003
Posts: 1,694
salve
la macro sovrascrive sempre il valore perchè ogni volta che che la lanci punta sempre alla stessa cella. Devi eseguire un controllo sulla prima cella vuota della colonna A del foglio3. Se la tabella che deve essere creata sul foglio3 deve partire dalla riga 2 modifica come rsegue la tua macro:


Range("A2").Select
Range(Selection, Selection.End(xlToRight)).Select
Selection.Copy
Sheets("Foglio3").Select
riga = 2
While Cells(riga, 1).Value <font color=red>()</font id=red> ""
riga = riga + 1
Wend
Cells(riga, 1).Select
ActiveSheet.Paste
Sheets("Foglio2").Select
Range("A2").Select
Application.CutCopyMode = False
Selection.ClearContents

Le due parentesi segnate in rosso sono i simboli di maggiore e minore
saluti
Andrea


Edited by - a10n11 on 04/30/2007 10:10:20

luca.serra73
Inviato: Tuesday, May 01, 2007 1:26:30 AM
Rank: Member

Iscritto dal : 4/22/2007
Posts: 0
<BLOCKQUOTE id=quote><font size=1 face="Sans Serif, Arial, Helvetica" id=quote>quote:<hr height=1 noshade id=quote>
ciao a tutti: visto che non avete risposto immagino di avere spiegato male il problema per cui provo ad essere un po' più dettagliato:

a) Nel foglio1 del file excel ho un db di dati ordinato dal progressivo 1 al progressivo 100.

b) Nel foglio2 dello steso file, in base al numero progressivo che digito a mano sulla cella A2, ricavo tramite un cerca.verticale i dati legati a quel numero progressivo e contenuti nel db del foglio1. I valori di interesse, nome, cognome, età, indirizzo, si posizionano nelle celle b2,c2,d2,e2 del foglio2.

c) Ho costruito una macro che, nelle mie intenzioni, dal foglio2 dovrebbe fare copia incolla di questi valori sul foglio3 dello stesso file excel. Questo passaggio di valori dal foglio1 al foglio2 al foglio3 sembra stupido, ma in realtà sto semplificando il problema per renderlo più facilmente spiegabile.

Sin qui tutto ok, il problema è che i valori sulla riga da copiare dal foglio2 cambiano di volta in volta in base al progressivo inserito, per cui vorrei che la macro di volta in volta incollasse, nel foglio3, i nuovi valori su una riga vuota successiva a quella in cui ho incollato i valori precedenti e che questa procedura si ripetesse sempre, ossia l'incolla dovrebbe sempre avvenire nella riga successiva all'incolla precedente.

Invece, nel mio caso, il sistema funziona solo la prima volta, poi, la volta successiva, la macro sovrascrive i dati nella stessa riga del foglio3. Credo che il problema stia nei riferimenti assoluti, o nella mancanza di funzioni + complesse tipo IF o For, purtroppo, però, non conosco la soluzione.

Vi lascio le istruzioni elementari che ho costruito io:

Macro2 Macro
' Macro registrata il 22/04/2007 da luca
'
' Scelta rapida da tastiera: CTRL+MAIUSC+S
'
Range("A2").Select
Range(Selection, Selection.End(xlToRight)).Select
Selection.Copy
Sheets("Foglio3").Select
Range("A2").Select
ActiveCell.Offset(1, 0).Range("A1").Select
ActiveSheet.Paste
Sheets("Foglio2").Select
Range("A2").Select
Application.CutCopyMode = False
Selection.ClearContents

Grazie per tutto ciò che potrete consigliarmi e mi scuso se nella richiesta precedente sono stato poco chiaro.

Luca

<hr height=1 noshade id=quote></BLOCKQUOTE id=quote></font id=quote><font face="Sans Serif, Arial, Helvetica" size=2 id=quote>
luca.serra73
Inviato: Tuesday, May 01, 2007 1:29:27 AM
Rank: Member

Iscritto dal : 4/22/2007
Posts: 0
Grazie Andrea...grazie di cuore....per l'aiuto disinteressato...Te ne sono grato. Vi farò un ottima pubblicità.

Ankora grazie
Luca
Utenti presenti in questo topic
Guest


Salta al Forum
Aggiunta nuovi Topic disabilitata in questo forum.
Risposte disabilitate in questo forum.
Eliminazione tuoi Post disabilitata in questo forum.
Modifica dei tuoi post disabilitata in questo forum.
Creazione Sondaggi disabilitata in questo forum.
Voto ai sondaggi disabilitato in questo forum.

Main Forum RSS : RSS

Aiutamici Theme
Powered by Yet Another Forum.net versione 1.9.1.8 (NET v2.0) - 3/29/2008
Copyright © 2003-2008 Yet Another Forum.net. All rights reserved.