Dodaj do ulubionych

vba - excel

12.10.06, 12:36
Czy można tak zrobić, żeby makro uruchamiało się w przypadku uaktywnienia się
konkretnej komórki? A może chcę zabić muchę za pomoca armaty i jest inny
sposób? Co chciałbym osiągnąć: Wpisuję dane do komórki. Robię enter.
Uaktywnia sie makro, które przenosi mnie do następnej komórki. Tam wpisuje
dane...itd.
Edytor zaawansowany
  • 18.10.06, 10:22
    Private Sub Worksheet_Change(ByVal Target As Range)
    Select Case Target.Address
    Case ("$A$2") 'komorka, po zmianie ktorej nastepuje przeniesienie kursora
    ActiveCell.Range("D2").Activate 'przenosimy kursor do D2
    End Select
    End Sub

    ... mysle, ze o to chodzilo?
  • 18.10.06, 11:36
    mniej więcej tak.
    w tej chwili przenosi się do komórki D2 zaraz po uaktywnieniu A2, co raczej nie
    pozwala na wpisanie danych.
    ale nie mam w tej chwili pojęcia jak to zmodyfikować.
    wielkie dzięki w każdym razie
  • 18.10.06, 12:46
    > mniej więcej tak. w tej chwili przenosi się do komórki D2 zaraz po uaktywnieniu
    > A2, co raczej nie pozwala na wpisanie danych. ale nie mam w tej chwili pojęcia
    > jak to zmodyfikować.

    Bo prawdopodobnie wpisales makro w 'SelectionChange' a nie 'Change'. W pierwszym
    przypadku kod jest wykonywany po wejsciu do komorki a w drugim dopiero po jej
    zmianie.
  • 18.10.06, 13:18
    miałeś rację. o to chodziło
    jeszcze raz dzięki.
  • 18.10.06, 14:03
    właściwie to nie mogę sobie poradzić z jeszcze jedną rzeczą.
    w Twoim przykładzie przenosi z A2 do D2, ale do D2 "względnie", a nie do
    komórki D2. jak to można zmienić?
  • 18.10.06, 14:31
    Rzeczywiscie - powinno byc:

    Cells.Range("D2").Activate
    zamiast
    ActiveCell.Range("D2").Activate
  • 18.10.06, 14:47
    bingo :)
    dzięki

Popularne wątki

Nie pamiętasz hasła lub ?

Zapamiętaj mnie

Nie masz jeszcze konta? Zarejestruj się

Nakarm Pajacyka
Agora S.A. - wydawca portalu Gazeta.pl nie ponosi odpowiedzialności za treść wypowiedzi zamieszczanych przez użytkowników Forum. Osoby zamieszczające wypowiedzi naruszające prawo lub prawem chronione dobra osób trzecich mogą ponieść z tego tytułu odpowiedzialność karną lub cywilną. Regulamin.