Jump to content

SUBIECTE NOI
« 1 / 5 »
RSS
Cappuccino Jacobs Choco Milka la ...

Aflare numar telefon cartela Tele...

Windows 10 - Cumulative Update er...

Iese la polish așa ceva ?
 Nu imi detecteaza microfonul exte...

Comunicare de la poliția loc...

Receiver RX 2001 Professional Ele...

Perle aniversare
 Probleme afisare Facebook

Egalizator IPRS Baneasa E2101 sch...

ANRE - consumatorii si prosumator...

Fisura perete interior si exterio...
 La multi ani @rinaldoparaipan!

Sursa in comutatie reglabila 0-30v

Cric hidraulic crocodil nu mai ri...

Unde torn detergentul lichid?
 

Ajutor excel - cod VB filtrare dupa valoarea unei celule

- - - - -
  • Please log in to reply
2 replies to this topic

#1
byte00

byte00

    Junior Member

  • Grup: Members
  • Posts: 90
  • Înscris: 21.02.2015
Buna ziua,

Am nevoie sa finalizez un cod/script care sa permita filtrarea intr-un sheet in functie de valoarea dintr-o anumita celula. Experienta mea cu VB este limitata, cu toate acestea prin documentare am conceput un cod VB pentru asta, dar nu face intru-totul ceea ce doresc si am nevoie de ajutor. Mai jos codul:

Private Sub Worksheet_Change(ByVal Target As Range)
Set Target = Target.Cells(1, 1)
If Not Intersect(Target, Range("B2")) Is Nothing Then
Range("A5").CurrentRegion.AutoFilter field:=2, Criteria1:=Target.Value
End If
End Sub



Ideea este ca am sheetul care arata asa:
  
[ https://i.imgur.com/GTT8TbM.png - Pentru incarcare in pagina (embed) Click aici ]

In momentul de fata, pe baza codului VB de mai sus, se face filtrarea dupa Cod 1 (care este celula B2). Ca sa functioneze filtrare valorile din B2 se introduc manual (fie valoare, fie formula). In orice caz trebuie interactiune cu utilizatorul. Deci in functie de ce bag eu in B2 se returneaza rezultatele.

Insa lucrurile sunt putin mai complicate, in sensul ca valoarea din B2 trebuie sa fie preluata din alt sheet dupa formula "='sheet2'!C2".
In momentul in care valoarea aflata in celula sheet2'!C2 se schimba, filtrarea nu mai face nimic, raman afisate rezultatele anterioare, obtinute atunci cand introduc eu manual valoare in B2.

Ce modificari trebuie sa fac la codul VB pentru a obtine rezultatele dorite in momentul in care se schimba valoarea din sheet2'!C2 fara a mai fi necesara interactiunea cu utilizatorul?

Multumesc

Edited by byte00, 08 July 2015 - 11:22.


#2
nexusm

nexusm

    Senior Member

  • Grup: Senior Members
  • Posts: 2,793
  • Înscris: 07.07.2011
daca proiectul in sine tine sa demonstreze calitatile tale de a lucra/modifica un excel doar prin ceea ce pune el la dispozitie, nu este cazul sa citesti postul meu mai departe.
daca insa proiectul sta la baza unei posibile aplicatii mai extinse, avand posibilitatea de evolutie iti sugerez urmatoarele.
- crearea unei interfete de preluare a valorilor introduse de user
(acesta interfata poate fi chiar un tabel excel)
- salvarea datelor respective intr-o baza de date (indiferent ce format)
- prelucrarea informatiilor din baza de date(prin cod, evita IDE) functie de orice conditie sau cerinta impusa.
- afisarea rezultatelor intr-o interfata (acesta putand fi la randul ei tot un tabel excel, dar care in principiu contine doar date deja prelucrate)

o astfel de independenta in prelucrarea datelor iti ofera o libertatate maxima, putand face absolut tot ce-ti doreste plecand de la informatiile stocate intr-o baza de date.
sugerez o baza de date plecand de la premisa ca volumul si numarul de inregistrari pot ajunge... apreciabile.
in caz contrar un fisier text ar putea fi suficient

Edited by nexusm, 08 July 2015 - 15:44.


#3
byte00

byte00

    Junior Member

  • Grup: Members
  • Posts: 90
  • Înscris: 21.02.2015
Multumesc nexusm pentru varianta propusa. Baza de date exista, insa prin excel vroiam sa extrag anumite date (in functie de anumite conditii) si sa le pun intr-un formular. Intre timp am finalizat si se poate inchide discutia.

Anunturi

Chirurgia spinală minim invazivă Chirurgia spinală minim invazivă

Chirurgia spinală minim invazivă oferă pacienților oportunitatea unui tratament eficient, permițându-le o recuperare ultra rapidă și nu în ultimul rând minimizând leziunile induse chirurgical.

Echipa noastră utilizează un spectru larg de tehnici minim invazive, din care enumerăm câteva: endoscopia cu variantele ei (transnazală, transtoracică, transmusculară, etc), microscopul operator, abordurile trans tubulare și nu în ultimul rând infiltrațiile la toate nivelurile coloanei vertebrale.

www.neurohope.ro

0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users

Forumul Softpedia foloseste "cookies" pentru a imbunatati experienta utilizatorilor Accept
Pentru detalii si optiuni legate de cookies si datele personale, consultati Politica de utilizare cookies si Politica de confidentialitate