Rulare cod VBA dupa valoare din dropdown
Rulare cod VBA dupa valoare din dropdown
Buna ziua.
Am o problema pe care tot o amin datorita simplitatii ei (cred eu) si risc sa ma fac de... maro, dar nu ma descurc.
Cum fac sa ruleze un cod VBA sa ruleze automat atunci cind intr-o celula (formatata ca lista dropdown) este selectata o anumita valoare de interes. Mai la obiect (vezi exemplul atasat) am un cod simplu care vreau sa ruleze atunci, si doar atunci, cind in celula C1 este selectata Shigella. Eu stiu sa fac VBA-ul sa ruleze doar daca ii asociez buton.
Multumesc
Am o problema pe care tot o amin datorita simplitatii ei (cred eu) si risc sa ma fac de... maro, dar nu ma descurc.
Cum fac sa ruleze un cod VBA sa ruleze automat atunci cind intr-o celula (formatata ca lista dropdown) este selectata o anumita valoare de interes. Mai la obiect (vezi exemplul atasat) am un cod simplu care vreau sa ruleze atunci, si doar atunci, cind in celula C1 este selectata Shigella. Eu stiu sa fac VBA-ul sa ruleze doar daca ii asociez buton.
Multumesc
Nu aveţi permisiunea de a vizualiza fişierele ataşate acestui mesaj.
Re: Rulare cod VBA dupa valoare din dropdown
Faci call-ul catre macro in procedura asociata evenimentului Change al foii respective:
Cod: Selectaţi tot
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Row = 1 And Target.Column = 3 And Target.Value = "Shigella" Then
Call YourMacro
End If
End Sub
Re: Rulare cod VBA dupa valoare din dropdown
Exact de ce ma temeam: sa nu inteleg. Nu vad nici un eveniment Change pentru ca nu stiu de unde sa-l iau. Eu din ce am "inteles" a rezultat
si nu merge
Cod: Selectaţi tot
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Row = 1 And Target.Column = 3 And Target.Value = "Shigella" Then
Range("E1").ClearContents
End If
End Sub
Ultima oară modificat Joi Mar 18, 2010 12:22 pm de către Anonymous, modificat 1 dată în total.
Motiv: Adaugare tag-uri CODE
Motiv: Adaugare tag-uri CODE
Re: Rulare cod VBA dupa valoare din dropdown
Selectezi foaia in care ai celula a carei valoare trebuie sa-ti porneasca macro-ul -> click-dreapta pe tab-ul foii -> View Code -> se deschide editorul vba cu fereastra de cod a foii despective -> din combobox-ul din stanga-sus al acestei ferestre selectezi "Worksheet" (initial e selectat "(General)") -> din combobox-ul din dreapta-sus al ferestrei respective selectezi "Change" -> dai paste la codul pe care l-am postat eu mai sus in aceasta procedura (mai putin prima si ultima linie de cod) si inlocuiesti "Call YourMacro" cu ce linii de cod ai nevoie.
Testezi si vezi ca functioneaza.
Testezi si vezi ca functioneaza.
Re: Rulare cod VBA dupa valoare din dropdown
Uite si in poze ceea ce ti-a explicat colegul gecs.
Nu aveţi permisiunea de a vizualiza fişierele ataşate acestui mesaj.
Re: Rulare cod VBA dupa valoare din dropdown
Multumesc. Merge. Plus ca m-am luminat ce face General vs Worsheet.
Re: Rulare cod VBA dupa valoare din dropdown
Totusi daca are cineva idee de ce in fisierul original da eroarea "Type mismach"? Desi merge, dar trebuie sa ignor eroarea.
Re: Rulare cod VBA dupa valoare din dropdown
Mie nu mi-a dat eroarea de care vorbesti !? Nu stiu cum s-o reproduc, asa ca nu stiu ce sa-ti raspundRAMBO scrie:Totusi daca are cineva idee de ce in fisierul original da eroarea "Type mismach"? Desi merge, dar trebuie sa ignor eroarea.
-
- Moderator
- Mesaje: 4570
- Membru din: Vin Iul 31, 2009 7:32 am
Re: Rulare cod VBA dupa valoare din dropdown
Eroarea de mai sus apare cand folosesti un tip de variabila iar functia asteapta un alt tip... de exemplu folosesti un SUM in care parametrii ar trebui sa fie de tip numeric iar tu ai folosit text.RAMBO scrie:Totusi daca are cineva idee de ce in fisierul original da eroarea "Type mismach"? Desi merge, dar trebuie sa ignor eroarea.
Ataseaza fisierul tau ca sa-l vedem pentru ca probabil ai pus ceva gresit pe undeva...
Re: Rulare cod VBA dupa valoare din dropdown
Scuze de intirziere.
Atasez fisierul original. Ideea este ca la selectarea oricarei valori din lista (A4/foaia "izolate"), range-ul C8:C14 sa i se stearga continutul (ClearContents).
Atasez fisierul original. Ideea este ca la selectarea oricarei valori din lista (A4/foaia "izolate"), range-ul C8:C14 sa i se stearga continutul (ClearContents).
Nu aveţi permisiunea de a vizualiza fişierele ataşate acestui mesaj.