Jump to content

SUBIECTE NOI
« 1 / 5 »
RSS
Succesiune notar versus instanta ...

Montaj aer conditionat in balcon ...

joc idem Half Life gratis

PC game stream catre Nvidia Shiel...
 Pompa de apa HEPU ?!

Vreau o masina electrica de tocat...

Cum ajunge remorca de tir inapoi ...

Alt "Utilizator nou" pe T...
 ULBS INFORMATICA

Index preturi

Boxa membrana tweeter infundata

Am nevoie de poze cu un curcubeu
 Whisky for Mac

Xiaomi 14 Gpay

Izolare zid exterior de scandura

Dezinstalare drivere W11 23H3
 

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: 93
  • Î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: 93
  • Î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

Bun venit pe Forumul Softpedia!

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