Condividi:        

Excel - copia su righe "variabile"

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 - copia su righe "variabile"

Postdi sass0lin0 » 30/12/08 16:53

Ciao a tutti,

sono nuovo ma vi leggo da tanto, e ho sempre trovato risposta o spunti per i miei problemucci..grazie in primis!

Ho una macro da creare, ma ho un problema:

devo copiare ed incollare il valore di 3 celle su altrettante, in 2 fogli diversi dello stesso file. Il fatto è che il primo foglio (chiamiamolo OGGI) varia ogni giorno e il secondo è l'archivio storico (chiamiamolo ARCHIVIO - nella prima colonna infatti ho inserito le singole date).

Devo quindi incollare i valori nella riga corrispondente alla data di oggi, ma non so come fare...

nel mio foglio OGGI, ho inserito appunto la funzione OGGI(), ma non so come sfruttare il dato per fare un confronto con la prima colonna del foglio Archivio.

Scusate se mi sono espresso male, sarà che ci sto sbattendo la testa da ore ore ore...

Grazie mille in anticipo!
sass0lin0
Newbie
 
Post: 3
Iscritto il: 30/12/08 16:46

Sponsor
 

Re: Excel - copia su righe "variabile"

Postdi Anthony47 » 31/12/08 21:14

Ciao e benvenuto nel forum.
Puoi cercare la posizione della data nel secondo foglio con una istruzione del tipo
Codice: Seleziona tutto
VOff = Application.WorksheetFunction.Match(Range("C1").Value, Sheets("Archivio").Range("A:A"), 0)
Poi userai VOff-1 come offset verticale rispetto ad A1 per decidere dove posizionare i tuoi dati in Archivio.

Se non basta lo spunto, posta ancora dettagliando le celle da copiare.

Buon anno.
Avatar utente
Anthony47
Moderatore
 
Post: 19215
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Excel - copia su righe "variabile"

Postdi sass0lin0 » 07/01/09 15:26

Ciao Anthony, buon Anno!

Grazie della risposta, e del benvenuto..

Torno oggi a lavorare sulla mia benedetta macro, completata grazie a te così:

Codice: Seleziona tutto
Sub CopiasuBilancio()
'
' CopiasuBilancio Macro
'
'

Voff = Application.WorksheetFunction.Match(Range("B2").Value, Sheets("LIBRO GIORNALE balance").Range("A:A"), 0)

    Sheets("OGGI").Select
    Range("B29:D29").Select    'qua copia i valori da scirvere sul foglio Archivio, cioè LIBRO GIORNALE balance
    Application.CutCopyMode = False
    Selection.Copy
    Sheets("LIBRO GIORNALE balance").Select
    Range(Voff - 1, "22").Select
   
    'ActiveCell.Offset(1, 0).Select          potrei usare questa in alternativa a Voff-1
   
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
   
End Sub



purtroppo mi ritorna l'errore run-time 1004 : Impossibile trovare la proprietà Match per la classe WorksheetFunction.

Mi viene da pensare che questa non funzioni con le date.. Hai altri preziosi suggerimenti per me?

Grazie Mille!
sass0lin0
Newbie
 
Post: 3
Iscritto il: 30/12/08 16:46

Re: Excel - copia su righe "variabile"

Postdi Anthony47 » 07/01/09 15:43

L' istruzione cerca il valore contenuto in C1 sul foglio "LIBRO GIORNALE balance" colonna A; e non lo trova.
I motivi possono essere vari:
-effettivamente quel valore non esiste
-i valori sembrano uguali ma non lo sono:
--stringhe invece di date
--data+ora

Prova a usare la formula =Confronta(C1;'LIBRO GIORNALE balance'!A:A;0) e verifica se restituisce un valore o errore, poi guarda il contenuto di C1 vs 'LIBRO GIORNALE balance'!A:A

Ovviamente potresti usare il parametro 1 invece che 0 nella formula (sia excel che vba) e non avrai errori; ma a seconda del tuo caso il risultato rischia di essere leggermente difforme o assolutamente sbagliato.

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

Re: Excel - copia su righe "variabile"

Postdi sass0lin0 » 07/01/09 17:18

grazie mille ora funziona!!!!

Codice: Seleziona tutto
Dim Voff As Long
 
 Voff = Sheets("DatiInput").Range("E1").Value
 
    Sheets("OGGI").Select
    Range("B29:D29").Select
    Application.CutCopyMode = False
    Selection.Copy
   
    Sheets("LIBRO GIORNALE balance").Select
    Cells(Voff, 22).Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
   


questo il codice che ho usato..alla prossima!
sass0lin0
Newbie
 
Post: 3
Iscritto il: 30/12/08 16:46


Torna a Applicazioni Office Windows


Topic correlati a "Excel - copia su righe "variabile"":


Chi c’è in linea

Visitano il forum: Nessuno e 42 ospiti