Cod de extragere date dintr un tabel cu conditii.

Închis
utudan
Mesaje: 67
Membru din: Vin Noi 08, 2013 6:55 pm

Cod de extragere date dintr un tabel cu conditii.

Mesaj de utudan » Lun Mar 05, 2018 8:41 pm

Buna seara
Se da in foaia 1 un tabel sursa care pe baza unor formule se autocomplecteaza. Se cere un cod VBA care sa extraga in 3 coloane (data, denumirea produs, cantitatea) informatiile din tabelul sursa. Pentru mine problema este forma tabelului sursa. Pentru situatia asta nu am gasit nici o forma rezonabila de rezolvare. Practic pentru a mi rezolva problema, am scos datele manual.
Atasez un fisier pentru a se intelege mai bine problema mea.
Cu speranta ca v oi fi ajutat din nou, va multumesc anticipat.
Nu aveţi permisiunea de a vizualiza fişierele ataşate acestui mesaj.

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

Re: Cod de extragere date dintr un tabel cu conditii.

Mesaj de IPP » Vin Mar 09, 2018 11:37 am

Buna ziua

Atasat aveti spre testare o propunere folosind macro.

Premise: denumirile foilor implicate nu se redenumesc, structura informatiei va fi ca cea din fisierul atasat (de ex. daca puneti informatie pe randul 1 din foaia Rezultat macro nu va mai detecta corect informatia veche)

Am folosit urmatorul cod:

Cod: Selectaţi tot

Sub ExtractData()

'IPP - 09.05.2018

Application.ScreenUpdating = False
Application.Calculation = xlCalculationManual

'sterge info veche
Sheets("REZULTAT").Range("B2").CurrentRegion.Offset(1, 0).ClearContents

Sheets("BAZA_DATE").Select
Range("C4").Select

Do Until ActiveCell = ""

    Do Until ActiveCell = ""
     If ActiveCell > 0 Then
      With Sheets("REZULTAT").Range("E65536").End(xlUp).Offset(1, 0)
      .Value = ActiveCell.Value 'productie
      .Offset(0, -2) = Cells(2, ActiveCell.Column) 'data calendaristica
      .Offset(0, -1).Value = Cells(ActiveCell.Row, 1).Value 'denumire produs
      End With
     End If
     ActiveCell.Offset(1, 0).Select
    Loop

 Cells(4, ActiveCell.Column + 3).Select
Loop

Application.Calculation = xlCalculationAutomatic
Application.ScreenUpdating = True

End Sub
Acesta: sterge informatia veche din foaia REZULTAT,
selecteaza foaia sursa
parcurge randurile si coloane de interes (productie) si, daca gaseste valori >0 scrie informatia aferenta in foaia Rezultat.

Pentru testare: deschideti fisierul atasat, activati macro/continutul si rulati macro.

IP

PS. Fiind o problema de macro pentru Excel, dupa ce ma voi asigura ca ati citit subiectul, il voi muta in sectiunea dedicata
Nu aveţi permisiunea de a vizualiza fişierele ataşate acestui mesaj.

utudan
Mesaje: 67
Membru din: Vin Noi 08, 2013 6:55 pm

Re: Cod de extragere date dintr un tabel cu conditii.

Mesaj de utudan » Dum Mar 11, 2018 11:18 am

Buna ziua
Exista ceva ce nu se poate face in excel? Cred ca nu. Daca are o logica am vazut ca de fie care data exista un rezultat. Pe asta m-am bazat cand am cerut ajutor. Multumesc mult. De aici in colo i-mi v-a fi mult mai usor sa i-mi rezolv treaba. Inca o data v-a multumesc frumos.

Închis

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