copiere o parte a unui rand dintr-un sheet altul in funtie de o conditie

cristicostache
Mesaje: 11
Membru din: Joi Iun 24, 2010 11:29 am

copiere o parte a unui rand dintr-un sheet altul in funtie de o conditie

Mesaj de cristicostache » Mar Mar 01, 2022 2:50 pm

Buna ziua,
Va rog sa ma ajutati si pe mine in urmatoarea problema'
In fisierul atasat este necesar sa copiem datele in mod automat (fara buton) de fiecare data cand se modifica valorile celulelor din randul 4 din sheetul DATA in functie de valoarea celulei C4 in sheetul LIST astfel:
Daca valoarea C4=AAA atunci copiem randul cuprins intre B4 si O4 in shetul LIST incepamd cu randul 4 sin in continuare oridecateori C4=AAA fara sa suprascriem date de dinainte.
Daca valoarea C4=BBB atunci copiem randul cuprins intre B4 - G4 si P4 - W4 in shetul LIST in continuarea datelor existente oridecateori C4=BBB fara sa suprascriem date de dinainte.
In shetul LIST am copiat eu manual datele din shetul DATA pentru a putea vizualiza rezultatul ce ar trebuii obtinut la final dupa rularea codului.
Numarul de randuri din sheetul DATA se incrementeaza cu unul de fiecare data cand apas un buton creat in alt sheet(sters in acest fisier) , randul 4 din sheetul DATA colecteaza datele din sheetul sters, unde este si butonul, si se modifica la fiecare introducere de date.

Am incercat sa adaptez mai multe coduri gasite pe net (nu pot spune ca stiu VBA) dar fara un rezultat acceptabil, de aceea am apelat la dvs.

Va multumesc pentru ajutor .
Nu aveţi permisiunea de a vizualiza fişierele ataşate acestui mesaj.

Indigo-ONE
Mesaje: 433
Membru din: Mar Dec 11, 2018 8:54 pm

Re: copiere o parte a unui rand dintr-un sheet altul in funtie de o conditie

Mesaj de Indigo-ONE » Mar Mar 01, 2022 9:30 pm

Salut,

Daca am inteles bine....
In sheet DATA randul 4, vor aparea niste date ca urmare a rularii unui cod VBA din alta foaie.
Deci:
Noul cod va muta datele, functie de cerinta ta, in foaia LIST. ?
Va muta randul 4, in randul 5 lasand randul 4 liber pentru o noua introducere. ?
Nu ar strica sa pui in fisier si foaia cu codul respectiv de unde vor fi copiate datele, poate vom optimiza codul ca sa nu mai ruleze alt cod dupa el.


"I fear the day that technology will surpass our human interaction. The world will have a generation of idiots."
Albert Einstein

cristicostache
Mesaje: 11
Membru din: Joi Iun 24, 2010 11:29 am

Re: copiere o parte a unui rand dintr-un sheet altul in funtie de o conditie

Mesaj de cristicostache » Mie Mar 02, 2022 12:16 pm

Am atast din nou fisierul complet cu toate sheeturile.

Da sheet DATA rand 4 se modifica date apasand butonul urmatorul din sheet 1. Acest rand se copiaza pe randul 5 si tot asa de fiecare data cand se apasa butonul.
Este necesar sa copiem datele in mod automat (fara buton) de fiecare data cand se modifica valorile celulelor din randul 4 din sheetul DATA in functie de valoarea celulei C4 in sheetul LIST astfel:
Daca valoarea C4=AAA atunci copiem randul cuprins intre B4 si 4N in shetul LIST incepamd cu randul 5 si in in continuare oridecateori C4=AAA fara sa suprascriem date de dinainte.
Daca valoarea C4=BBB atunci copiem randul cuprins intre B4 - F4 + O4 - V4 in shetul LIST in continuarea datelor existente oridecateori C4=BBB fara sa suprascriem date de dinainte.
Sheet LIST trebuie sa fie populat cu coloane de la A la N.
mULTUMESC
Nu aveţi permisiunea de a vizualiza fişierele ataşate acestui mesaj.

Indigo-ONE
Mesaje: 433
Membru din: Mar Dec 11, 2018 8:54 pm

Re: copiere o parte a unui rand dintr-un sheet altul in funtie de o conditie

Mesaj de Indigo-ONE » Mie Mar 02, 2022 3:13 pm

Da sheet DATA rand 4 se modifica date apasand butonul urmatorul din sheet 1. Acest rand se copiaza pe randul 5 si tot asa de fiecare data cand se apasa butonul.
Eu te-an intrebat CUM apar acele date in randul 4????
Codul din fisier copiaza randul 4 din foaia DATA, in urmatorul rand liber din aceeasi foaie.
Daca trebuie sa apara si in foaie LIST, de ce nu copiezi in acelasi timp, randul 4 din foaia DATA, si in foaia LIST???? in urmatorul rand liber.
Care este treaba cu datele din SHEET1? Nu cumva aceste date trebuiesc copiate in foaia DATA si Foaia LIST??

Am vazut ca ai un DV in C5 in foaia Sheet1 si BANUIESC ca la alegerea din DV datele de mai jos se modifica, cu formule sau manual sau cod VBA)
Sunt necesare mai multe detalii. Nu vreau sa iti ofer un cod VBA sau formule, ca dupa aceea sa imi spui ca ai omis ceva sau ca puteai sa editezi codul dar nu ai putut.


"I fear the day that technology will surpass our human interaction. The world will have a generation of idiots."
Albert Einstein

cristicostache
Mesaje: 11
Membru din: Joi Iun 24, 2010 11:29 am

Re: copiere o parte a unui rand dintr-un sheet altul in funtie de o conditie

Mesaj de cristicostache » Vin Mar 04, 2022 12:05 pm

In randul 4 datele apar folosind formule cu referinte catre celule din Sheet 1(de exemplu in G4 din DATA avem =Sheet1!C10), iar in functie de DV din C5 din foaia Sheet1 se completeaza pe randul 4 astfel :
- daca C5=AAA atunci se transfera date cu formule fara VBA in shetul DATA incepand de la B4 pana la N4
- daca C5=BBB atunci se transfera date cu formule fara VBA in shetul DATA incapand de la B4 pana la F4 si de la O4 la V4. in acest caz datele cuprinse intre coloanele G4 - N4 nu le folosim.
In varianta finala cand C5 = BBB in campurile incepand cu G4 pana N4 vor aparea "-", iar in cazul C5 =AAA in campurile incepand cu O4 pana la V4 va aparea "-".
Da este OK sa copiem in acelasi timp date atat in sheet DATA cat si LIST la apasarea butonului URMATORUL din SHEET1 dar cu mentiunea ca in shetul LIST datele trebuie copiate conform cerintei anterioare adica:
- daca valoarea C5=AAA din SHEET1 - atunci copiem randul cuprins intre B4 si N4 in shetul LIST si tot asa in urmatorul rand liber oridecateori C4=AAA fara sa suprascriem date de dinainte.
- daca valoarea C5=BBB din SHEET1 - atunci copiem randul cuprins intre B4 - F4 si intre O4 - V4 in shetul LIST si tot asa in urmatorul rand liber oridecateori C4=BBB fara sa suprascriem date de dinainte.
In sheet LIST va trebuii sa avem coloane completate doar de la B la N
Multumesc si scuze neintelegere, nu vor exista reclamatii te asigur.

Scrie răspuns

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