Inserare valori din ActivecellRow

RAMBO
Mesaje: 414
Membru din: Mie Noi 25, 2009 2:17 pm
Localitate: Pitesti

Inserare valori din ActivecellRow

Mesaj de RAMBO » Vin Mar 09, 2018 1:54 pm

Buna ziua.
Am urm situatie. Fie doua tabele ca cele din fisierul de exemplu. Intentionez sa copiez anumite valori din tabel1 in tabel2 astfel: pun click pe celula A3 sa zicem, iar la rularea codului, valorile din acel rand (doar unele) sa se duca pe primul rand disponibil al tabelului 2. Concret: daca pun click pe A3 atunci: ALDL se duce in L2, serum se duce in M2, 54 in N2. Apoi daca pun click pe A9 si rulez iar, valorile se vor duce in L3:N3 and so on. Strict pentru aceasta situatie am rezolvat, dar in fisierul real un tabel (hai sa-i zicem tabelul sursa) este intr-un sheet, iar celalalt este in alt sheet. In aceasta situatie nu ma mai descurc. Cum ar trebui sa arate codul?
Eu am folosit

Cod: Selectaţi tot

Sheets("sheet1").Range("a3") = Sheets("sheet2").Range("a" & ActiveCell.Row)
.
Si a mers, dar doar pentru un rand. Daca rulez iar imi suprascrie; e si normal.
Multumesc.
Nu aveţi permisiunea de a vizualiza fişierele ataşate acestui mesaj.

IPP
Moderator
Moderator
Mesaje: 3799
Membru din: Mie Iul 29, 2009 7:26 am
Localitate: Cluj-Napoca

Re: Inserare valori din ActivecellRow

Mesaj de IPP » Vin Mar 09, 2018 2:44 pm

Buna ziua

Daca nu mariti artificial numarul de randuri din tabelul destinatie (deci il lasati sa se autoredimensioneze singur pe masura ce se introduce informatia) si nu aveti nimic altceva pe coloana A din foaia de destinatie, atunci puteti incerca ceva de genul

Cod: Selectaţi tot

With Sheets("sheet1").Range("A65536").End(xlUp).offset(1,0)
.value = Range("a" & ActiveCell.Row).value
.Offset(0,1).Value=Range("A" & ActiveCell.Row).Offset(0,1).Value
End With
IP

RAMBO
Mesaje: 414
Membru din: Mie Noi 25, 2009 2:17 pm
Localitate: Pitesti

Re: Inserare valori din ActivecellRow

Mesaj de RAMBO » Mar Mar 13, 2018 1:38 pm

Deoarece codul ma cam depaseste (nu inteleg ce fac offseturile alea pe acolo), nu pot sa-l editez. Daca consideram sheet1 ca fiind locatia unde se afla tabelul sursa, cum se duce informatia in tabelul destinatie care in fisierul original se afla in alta foaie, sa zicem sheet2; ca in cod nu se pomeneste nimic de sheet2.
Multumesc.

IPP
Moderator
Moderator
Mesaje: 3799
Membru din: Mie Iul 29, 2009 7:26 am
Localitate: Cluj-Napoca

Re: Inserare valori din ActivecellRow

Mesaj de IPP » Mar Mar 13, 2018 1:57 pm

Buna ziua

Nu stiu altii, dar eu prin fisier exemplu inteleg un fisier care este identic ca structura cu cel real. Deci nu am doua foi si eu exemplific totul intr-o foaie.
Asa cum dvs. nu ati putut edita codul, nici eu nu am putut reproduce integral problema pentru a vedea daca va pot oferi o solutie. Pentru ca exista cel putin o ciudatenie si ma mir ca nu ati avut ceva eroare: nu te poti referi la o celula ca fiind celula activa fara ca in acelasi timp si foaia unde se gaseste acea celula sa fie si ea, la randul sau activa. Deci daca in timpul prelucrarii facute de macro, foaia activa este Sheet2, nu poti sa te referi la celula activa din Sheet1, (sau invers). Deci nu se poate vorbi de o celula activa decat intr-o foaie activa (=foaia in care, se scrie informatia daca tastam ceva)
Daca dvs. ati reusit marturisesc ca nu stiu cum.

Altfel, codul propus de mine presupunea ca in momentul in care rulati macro, faceati o actiune in cunostinta de cauza, adica avand selectata celula de interes (si implicit informatia aferenta ei de pe acelasi rand) deci din start exista o celula activa care se gasea intr-o foaie activa (in cazul de fata ea ar fi Sheet2), iar macro scria in foaia de destinatie (in cazul de fata ar fi Sheet1) punand informatia din celula activa in celula de interes iar restul informatiei aferente pe coloana sau coloanele alaturate (aici era explicatia pentru acel offset)

IP

RAMBO
Mesaje: 414
Membru din: Mie Noi 25, 2009 2:17 pm
Localitate: Pitesti

Re: Inserare valori din ActivecellRow

Mesaj de RAMBO » Mie Mar 14, 2018 2:10 pm

Da. Imi cer scuze. Este discrepanta intre fisierul atasat si descriere.
Am facut niste modificari de structura a datelor si am folosit codul dvs.
Multumesc, si inca odata scuze.

Scrie răspuns

Înapoi la “Visual Basic for Application (VBA) cu Excel - Intrebari tehnice”