macro -copiere date din mai multe fisiere

Informatii despre cum se utilizeaza Microsoft Excel 2003. Calcule, Formule, Functii, Tabele pivot, Analiza datelor, etc
IPP
Moderator
Moderator
Mesaje: 4197
Membru din: Mie Iul 29, 2009 7:26 am
Localitate: Cluj-Napoca

Re: macro -copiere date din mai multe fisiere

Mesaj de IPP » Dum Iun 24, 2012 6:32 pm

Voi incerca sa va ajut.
Insa, inainte de a completa codul macro, am nevoie sa stiu EXACT TOATE celulele ale caror valori trebuiesc insumate precum si celulele care contin deja formule si trebuie sa ramana asa. In fisierul dvs. exemplu cred ca mai sunt situatii in care ar trebui sa fie formule si nu sunt. Pentru a evita orice fel de neclaritati va rog sa atasati un fisier-exemplu nou in care sa colorati cu gri celulele ale caror valori se doresc a fi insumate si cu galben cele care contin (sau vor contine la un moment dat) formule facute de dvs. Asa cum am mai spus, varianta finala a fisierului nu trebuie sa aiba astfel de culori dar modul actual de aranjare a informatiei pe mine unul ma deruteaza si am nevoie de aceste repere vizuale.

agatha
Mesaje: 30
Membru din: Mar Iun 05, 2012 11:23 am

Re: macro -copiere date din mai multe fisiere

Mesaj de agatha » Dum Iun 24, 2012 7:48 pm

Multumesc inca o data!

Am atasat fisierul. Celulele cu gri vor trebui insumate, cele cu galben trebuie sa le protejez sa nu fie modificate, iar formule nu vor mai fi deocamdata. Poate , daca as putea sa pun conditii H23 > H24, H 29>H30 mesaj.
Si daca se poate sa se salveze registrul de lucru automat cu numele selectat la E3.


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

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

Re: macro -copiere date din mai multe fisiere

Mesaj de IPP » Dum Iun 24, 2012 7:58 pm

Sa stiti ca si, de exemplu, =H20 este tot o formula pentru ca Excel considera a fi formula tot ce incepe cu semnul =
In situatia de mai sus se gasesc (cel putin) domeniile de celule R20:R24; R26:R30; N37:N41; N43:N47

Asadar?

agatha
Mesaje: 30
Membru din: Mar Iun 05, 2012 11:23 am

Re: macro -copiere date din mai multe fisiere

Mesaj de agatha » Dum Iun 24, 2012 8:07 pm

Da, acolo am pus recent formule si ar fi trebuit sa le pun cu galben si sa le protejez la scriere la R 20 - 24 , R 26 - 30 si la N 37 - 41 , N 43 - 47.

Multumesc!

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

Re: macro -copiere date din mai multe fisiere

Mesaj de IPP » Dum Iun 24, 2012 8:43 pm

Buna seara

Testati fisierul atasat.
Toate observatiile anterioare raman in vigoare (desi am mai modificat putin in cod)

IP
Nu aveţi permisiunea de a vizualiza fişierele ataşate acestui mesaj.

agatha
Mesaje: 30
Membru din: Mar Iun 05, 2012 11:23 am

Re: macro -copiere date din mai multe fisiere

Mesaj de agatha » Dum Iun 24, 2012 9:11 pm

Multumesc mult, mult!

Am o alta profesie decat cea care se cere la asemenea programari si o varsta la care pricepi pana la un punct.
M - ati ajutat foarte mult , drept pentru care va multumesc si va doresc sanatate multa!

agatha
Mesaje: 30
Membru din: Mar Iun 05, 2012 11:23 am

macro -copiere date din mai multe fisiere

Mesaj de agatha » Vin Ian 11, 2013 7:36 pm

Buna seara



Va rog frumos, am nevoie din nou de ajutor!
Atasez un fisier, va rog mult , am nevoie de un cod VBA care sa centralizeze toate datele din fisierele asemanatoare care vor fi intr un folder numit ANUL 2013.

Trebuie sa centralizez datele din celulele ramase in alb, din mai multe fisiere asemanatoare ( cu 3 sheet uri).

Este un cod la fel ca cel din postarea anterioara, mai complicat si nu ma pricep de loc.

Va rog mult si va multumesc!
Nu aveţi permisiunea de a vizualiza fişierele ataşate acestui mesaj.

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

Re: macro -copiere date din mai multe fisiere

Mesaj de IPP » Vin Ian 11, 2013 9:09 pm

Buna seara

Doar niste observatii:

Orice solutie macro mai ales cand e vorba de o structura "haotica" din punct de vedere al modului in care trebuie aduse datele implica o analiza amanuntita. Sunt curios cine poate sa o faca si in cat timp pe cele (daca nu se mai umbla prin page setup sau dimensiuni de caractere si coloane) 182 (!) de pagini cate ar iesi daca s-ar tipari a treia foaie din fisierul dvs. Celelalte foi sunt mai modeste: 49 respectiv 9 pagini.

Daca cineva trece de punctul precedent: la o astfel de "aranjare" a datelor "fisiere asemanatoare" nu e suficient. Trebuie "fisiere identice 100%"

Eu va urez sa gasiti vreun voluntar pentru asa ceva. Mie mi-ar lua zile doar de analiza inainte de a putea sa spun macar daca pot face asa ceva. Si nu am astfel de resurse.

IP

agatha
Mesaje: 30
Membru din: Mar Iun 05, 2012 11:23 am

Re: macro -copiere date din mai multe fisiere

Mesaj de agatha » Sâm Ian 12, 2013 9:12 am

Buna dimineata


Multumesc pentru cele cateva observatii. M am gandit eu ca este complicat.
Poate nu am spus eu prea bine ce vreau sa fac.
Incerc eu si unde ma poticnesc o sa va cer ajutor.

O sa pun cate un buton pe fiecare sheet - CENTRALIZARE si o sa adaptez un cod pe care l am de la dvs. din mesajul de anul trecut.

Incerc, multumesc!

Adaptez codul asta

Cod: Selectaţi tot

Sub Centralizeaza()

'IPP (dupa model/idei Gecs, alcoool) - 24.06.2012

Application.ScreenUpdating = False

'sterge continutul vechi
Sheets("provizoriu").Rows("1:80").EntireRow.Delete

    Dim filesys_obj, folder_obj, files_col, curfile, i, j, currow, folder, fisier_1
'citeste calea catre folderul unde se afla fisierele-sursa
    folder = "C:\Test\Sursa"
'creaza obiectele pentru deschiderea fisierelor-sursa
    Set filesys_obj = CreateObject("Scripting.FileSystemObject")
    Set folder_obj = filesys_obj.GetFolder(folder)
    Set files_col = folder_obj.Files
    
'deschide pe rand fiecare fisier din folderul indicat...
    For Each curfile In files_col
        Workbooks.Open (folder & "\" & curfile.Name)
    'copiaza informatia de interes in foaia "provizoriu", inchide fisierul sursa
        ActiveWorkbook.Sheets(1).Rows("11:80").Copy Destination:=ThisWorkbook.Sheets("san").Range("D 11")
        ActiveWindow.Close
    'apeleaza macro care realizeaza insumarea valorilor
        Call insumeaza
    'sterge randurile care au fost folosite la prelucrare
        Sheets("san").Rows("1:80").EntireRow.Delete
      Next
     
Application.ScreenUpdating = True
etc..
Ultima oară modificat Sâm Ian 12, 2013 9:15 am de către Dr. Cloud, modificat 1 dată în total.
Motiv: Adăugare tag CODE.

Închis

Înapoi la “Intrebari despre Excel 2003”