Excel - Uruchom makro, gdy dane wprowadzone do komórki

Jeśli użytkownik chce uruchomić makro w programie Microsoft Excel, gdy zostanie znaleziona komórka D10, należy użyć zdarzenia zmiany arkusza w arkuszu programu Excel, a nie w module. //www.4shared.com/file/89145449/43c8c38/Change_Value_of D10.htlml jest pobierany i ustawiany jest oryginalny kod, który został użyty do uruchomienia makra . Ikona programu Visual Basic na karcie Deweloper jest wybrana dla programu Microsoft Excel-2007. Po przejrzeniu arkusza, w którym chce się uruchomić kod, deklaracje i ogólne są upuszczane, a arkusz jest wybierany. Słowo „Wybór” jest usuwane z „Private Sub Worksheet_SelectionChange” w oknie kodu. Aby zmienić wartość w komórce D10, „$ D $ 10” jest ustawionym adresem docelowym. To z kolei spowodowałoby zmianę zdarzenia arkusza roboczego „Zadzwoń” do Makra .

  • Kwestia
  • Rozwiązanie
  • Uwaga

Kwestia

Mam makro, które działa, gdy użytkownik kliknie przycisk. Zamiast tego chcę, aby Makro działało podczas wypełniania komórki D10. Dane dla D10 pochodzą z rozwijanego menu Walidacja danych, jeśli ma to znaczenie. To powinno być łatwe, ale nie mogę tego zrozumieć.

Rozwiązanie

Możesz zachować swoje makro w module pierwszym. Musisz użyć zdarzenia zmiany arkusza w samym arkuszu, a nie w module. Pozwólcie, że wyjaśnię: dostarczę plik wraz z wyjaśnieniem. W arkuszu zakres A5: A25 jest wypełniony liczbami. Jeśli wprowadzisz wartość liczbową w komórce D10, zakres G5: G10 skopiuje zawartość z A5: A25. Jeśli usuniesz wartość z D10, zawartość zakresu G5: G10 zostanie usunięta.

//www.4shared.com/file/89145449/43c8c38/Change_Value_of_D10.html

Jakikolwiek był twój oryginalny kod, aby uruchomić Makro, umieść go z powrotem w oryginalnej postaci.

Ponieważ korzystasz z programu Excel 2007, to jest to, co musisz zrobić:

  • 1) Kliknij kartę Deweloper.
  • 2) Kliknij ikonę Visual Basic.
  • 3) W lewym okienku kliknij dwukrotnie arkusz, na którym chcesz uruchomić kod.
  • 4) Teraz, w górnej części okna kodu zobaczysz (Ogólne) z rozwijanym menu i (Deklaracje) z rozwijanym menu.
  • 5) Kliknij menu rozwijane (Ogólne) i wybierz Arkusz.
  • 6) Teraz w oknie kodu zobaczysz Private Sub Worksheet_SelectionChange (ByVal Target As Range)
  • 7) Usuń słowo „Wybór”. Chcesz usunąć „Wybór”, ponieważ oznacza to, że po kliknięciu komórki w arkuszu coś się wydarzy. Nie chcesz tego, chcesz wprowadzić wartość w D10. Powinien teraz czytać Private Sub Worksheet_Change (ByVal Target As Range)
  • 8) W tym miejscu chcesz kod ...

 Private Sub Worksheet_Change (ByVal Target As Range)

Jeśli Target.Address = "$ D $ 10" Następnie

Zadzwoń do MyMacro

Zakończ jeśli

Napis końcowy

  • 9) Oznacza to, że gdy zmienisz wartość w D10, zdarzenie zmiany arkusza „wywoła” twoje makro.

Uwaga

Podziękowania dla WutUp WutUp za tę poradę na forum.
Poprzedni Artykuł Następny Artykuł

Najważniejsze Wskazówki