Post by RichKliknąłem wyświet kod na arkuszu "Arkusz1" w skoroszycie deltax.xls,
wpisałem poniższy kod, zmieniam zawartość komórki b1 w tym skoroszycie
amkro termin2 się nie uruchamia :(. A w edytorze v basic jak uruchomie
run to prosi mnie żeby wybrac makro do zadziałania i tyle ...
A rozwiazało by mi to problem ciągłego przeliczanai bo podpiął bym F9
pod niektóre komórki tylko.
Private Sub Worksheet_Change(ByVal Target As Excel.Range)
If Target.Address = "$B$1" Then
Application.Run "DELTAX.xls!Termin2"
End Sub
Wprew pozorom przyczyn może byc kilka.
1. Napisałeś: "zmieniam zawartość komórki b1 w tym skoroszycie". Pamiętaj,
że ten kod dotyczy tylko i wyłacznie arkusza o nazwie "Arkusz1". W przypadku
innych arkuszy w tym skoroszycie nie będzie uruchamiane makro. Jeśli chcesz
wykorzystać zdarzenie zmiany wartości komórki w kilku arkuszach za pomocą
jedngo kodu, to musisz wykorzystać zdarzenie Workbook_SheetChange w module
ThisWorkbook.
Post by RichPrivate Sub Worksheet_Change(ByVal Target As Excel.Range)
If Target.Address = "$B$1" Then
Application.Run "DELTAX.xls!Termin2"
End Sub
nie jest skopiowany wprost z Edytora Visual Basic. Czy na pewno nie masz tam
innych instrukcji oprócz tych, które napisałeś? I czy te, które napisałeś
wyglądają dokładnie tak samo. Czasami nawet niepozorna zmiana w kodzie może
spowodować, że makro nie będzie uruchamiane. Jeśli ten kod zawiera jeszcze
jakieś intrukcje ot nie wstydź się ich i wklej je na grupę.
3. Czy w makrach wykorzystujesz polecenie Application.EnableEvents - czasami
korzysta się tej intrukcji w kodzie makr. Pamiętaj, że przestawienie tej
opcji na False spowoduje, że żadne zdarzenia nie bedą uruchamiane.
4. Musisz przede wszytskim sprawdzić czy samo zdarzenie jest uruchamiane. W
tym celu wmodule arkusza zamiast tamtego kodu wpisz taki:
Private Sub Worksheet_Change(ByVal Target As Excel.Range)
MsgBox "Zdarzenie jest uruchamiane"
End Sub
Teraz zmień wartość w jakiejś komórce i sprawdź czy pojawi się monit
"Zdarzenie jest uruchamiane". Jesli się pojawi to oznacza, że zdarzenie jst
uruchamiane -> Przyczyna musi byc gdzieś indziej.
5. Może makro jest uruchamiane tylko z jakichś powodów nie widać efektów
działania tego makra lub działa ono nie tka jak powinno? Jeśli makor nie
jest za długie możesz podać kod tego makra.
6. Napisałeś: "A rozwiazało by mi to problem ciągłego przeliczanai bo
podpiął bym F9 pod niektóre komórki tylko." Nie za bardzo rozumiem co
chciałeś przez to powiedzieć, ale chyba nie tędy droga. Napisz może
dokładniej w czym jest problem.
7. Aha i musisz pamiętać jeszcze o jednym. To makro bedzie uruchamine tylko
i wyłącznie wtedy, gdy zmieniana bedzie wartośc w samej komórce B1. Jeśli na
raz bedziesz zmieniał wiecej komórek, np. poprzez wklejanie, to makro nie
bedzie uruchamiane.
--
Pozdrowienia
pxd74