|
| HOMEPAGE | INDICE FORUM | REGOLAMENTO | ::. | NEI PREFERITI | .:: | RSS Forum | RSS News | NEWS web | NEWS software | |
| PUBBLICITA' | | | ARTICOLI | WIN XP | VISTA | WIN 7 | REGISTRI | SOFTWARE | MANUALI | RECENSIONI | LINUX | HUMOR | HARDWARE | DOWNLOAD | | | CERCA nel FORUM » | |
14-02-2009, 20.33.04 | #1 |
Newbie
Registrato: 14-02-2009
Messaggi: 7
|
[Excel] Copiare celle tra due cartelle se valore è uguale ... help
è tutto il pomeriggio che cerco di creare una macro per semplificarmi la vita ma non ci riesco.... in sostanza ho due cartelle di lavoro (una con un elenco di pagamenti e l'altra con le fatture corrispondenti...) , quello che cerco di fare è quando si verifica la condizione che i due ID di pagamento (quello sul modulo dei pagamenti e quello sul modulo della fattura) coincidono allora vorrei copiare il netto ricevuto in una colonna accanto alla riga corrispondente della fattura. Per essere più pratico, sulla cartella pagamenti ho: giorno... netto.. id etc... su quello fattura : giorno ... ID ... etc... la macro (che non dovrebbe essere poi più di tanto complessa) , dovrebbe copiarmi il valore del "netto" sulla cartella fattura quando i due ID coincidono. ho provato (ma le mie conoscenze VB sono un po' limitate..) a fare un ciclo for next ma con alcuni comandi tipo cells(ir, ic).select ... selction.copy etc.. ma non riesco c'è qualcuno che saprebbe darmi una mano..?? thanx |
17-02-2009, 09.52.25 | #2 |
Senior Member
Registrato: 02-08-2007
Messaggi: 295
|
Sub Macro1()
Dim Var1 As Integer Dim Var2 As Integer Var1 = Range("A1").Value 'Assegno il valore della cella A1 alla variabile Var1 Windows("2.xlsx").Activate 'Attivo il secondo floglio Var2 = Range("A1").Value 'Assegno il valore della cella A1 alla variabile Var2 Windows("1.xlsx").Activate 'Attivo il primo floglio If Var1 = Var2 Then 'Se le due variabili sono uguali.. MsgBox "Valori uguali" Else 'Altrimenti... MsgBox "Valori diversi" End If Var1 = 0 'Azzeriamo le variabili Var2 = 0 End Sub |
19-02-2009, 00.54.34 | #3 |
Newbie
Registrato: 14-02-2009
Messaggi: 7
|
ok grazie!
lo spirito di quello che devo fare è come descitto nella tua macro, però i valori che devo confrontare sono più di uno , naturalmente messi in colonna, per cui la macro dovrebbe inziare per esempio dal primo e scorrere fino in fondo fino a quando non trova il valore uguale.. ho provato con un for next e poi con cells + variabili ma vedo solo un gran movimento di fogli senza risultato .. in primo luogo non riesco a copiare ed incollare.. la macro che ho prodotto è questa... sicuramente c'è qualcosa di completamente insensato ma sono almeno 20 anni che nn programmo... Sub compara() ic = 18 ir = 2 ic2 = 3 ir2 = 1 For x = 1 To 10000 For y = 1 To 150 Workbooks("Pagamenti.xls").activate If Cells(ir, ic) = Workbooks("Fatture 2006.xls").ActiveSheet.Cells(ir2, ic2) Then Cells(ir, 11).Select Selection.Copy Windows("Fatture 2006.xls").Activate Cells(ir2, 8).Select Selection.Paste Else: ir2 = ir2 + 1 End If y = y + 1 Next ir = ir + 1 x = x + 1 Next End Sub |
23-02-2009, 10.29.06 | #4 |
Senior Member
Registrato: 02-08-2007
Messaggi: 295
|
Ciao!
Adesso non ho excel e vba davanti per fare delle prove; in ogni caso per scorrere le righe puoi utilizzare una cosa del genere For i = 1 To 10 Range("A" & i).Select If ActiveCell.Value = 1 Then 'Se la cella soddisfa i tuoi criteri ....... scrivi qua quello che vuoi fare ....... se vuoi uscire dal ciclo inserisci i=10 End If Next non ti serve il copia incolla, inserisci in una variabile il contenuto della cella con NomeVariabile=ActiveCell.Value ciao! |
23-02-2009, 10.33.24 | #5 |
Senior Member
Registrato: 02-08-2007
Messaggi: 295
|
Faccio un collage tra i due post che ho scritto:
Dim Var1 As Integer Dim Var2 As Integer For i = 1 To 10 Var1 = Range("A" & i).Value 'Assegno il valore della cella A+i alla variabile Var1 Windows("2.xlsx").Activate 'Attivo il secondo floglio Var2 = Range("A" & i).Value 'Assegno il valore della cella A+i alla variabile Var2 Windows("1.xlsx").Activate 'Attivo il primo floglio If Var1 = Var2 Then 'Se le due variabili sono uguali.. MsgBox "Valori uguali" Else 'Altrimenti... MsgBox "Valori diversi" End If Var1 = 0 'Azzeriamo le variabili Var2 = 0 Next End Sub |
24-02-2011, 16.19.57 | #6 |
Newbie
Registrato: 24-02-2011
Messaggi: 1
|
Salve,
ho un piccolo-grande problema ho un foglio excel con una colonna fatta di "codice". ad ogni codice sono associate altre 3 colonne che specificano quel codice a cosa corrisponde. dato che inserirsco sempre gli stessi codici, come posso fare per dirgli, copia il contenuto quando vedi lo stesso codice? es. codice 1203 (a1) corrisponde a Mario (a2), Rossi (a3), 32 (a4), Italia (a5), Maschio (a6)? Grazieee |
Utenti attualmente attivi che stanno leggendo questa discussione: 1 (0 utenti e 1 ospiti) | |
|
|
Discussioni simili | ||||
Discussione | Autore discussione | Forum | Risposte | Ultimo messaggio |
[WinXP] Programma per copiare files e cartelle tra due dischi | gutguy | Windows 7/Vista/XP/ 2003 | 6 | 18-09-2008 13.52.33 |
[EXCEL] Bordi delle celle Arrotondati | Aquax | Office suite | 3 | 01-06-2008 03.02.50 |
[Excel] Inserire testo lungo in celle | cyber | Office suite | 8 | 10-12-2006 19.27.49 |
copiare cartelle con nomi lunghi | ziopazzo | Windows 7/Vista/XP/ 2003 | 2 | 04-01-2006 13.04.10 |
[Excel] Valori celle sballate | musicboy | Office suite | 2 | 04-10-2005 10.03.15 |