Excel - Futtassa a makrót, amikor egy cellába bevitt adatokat

Ha a felhasználó egy Macro- t szeretne futtatni a Microsoft Excel programban, amikor a D10 cellát megtelepedik, akkor a munkalapok változása eseményt kell használni az Excel munkalapon, nem pedig a modulban. //www.4shared.com/file/89145449/43c8c38/Change_Value_of D10.htlml letölthető és az eredeti kód, amelyet a Makró futtatására használtak, be van állítva. A Fejlesztő lap Visual Basic ikonja a Microsoft Excel-2007 számára van kiválasztva. A munkalap megtekintését követően, ahol a kívánt kódot kívánja végrehajtani, a Nyilatkozatok és az Általános kerülnek le, és a munkalap kiválasztásra kerül. A 'Kijelölés' szót a kódablakban a "Privát almunkabejegyzésváltás" felirat eltávolítja. A D10 cellában lévő érték megváltoztatásához a '$ D $ 10' a beállított célcím. Ez viszont a "Hívás" munkalapváltás eseményt tenné a Makrónak.

  • Probléma
  • Megoldás
  • jegyzet

Probléma

Van egy makro, amely akkor fut, amikor a felhasználó egy gombra kattint. Ehelyett azt akarom, hogy a Makró fusson, amikor a Cell D10 meg van adva. A D10 adatai az adatellenőrzés legördülő listájából származnak, ha ez fontos. Ez egyszerű, de nem tudom kitalálni.

Megoldás

A makrót az első modulban tarthatja. A munkalap módosítására szolgáló eseményt a munkalapon, nem pedig modulon kell használni. Hadd magyarázzam el: adok egy fájlt, amely a magyarázattal együtt jár. A munkalapon az A5: A25 tartomány tele van számokkal. Ha számszerű értéket ad meg a D10 cellában, a G5: G10 tartomány átmásolja az A5: A25 értéket. Ha törli az értéket a D10-ben, akkor a G5: G10 tartomány tartalma törlődik.

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

Bármi legyen is az eredeti kódja, hogy futtassa a makrót, tegye vissza az eredeti formájába.

Mivel az Excel 2007-et használja, ezt kell tennie:

  • 1) Kattintson a Fejlesztő fülre.
  • 2) Kattintson a Visual Basic ikonra.
  • 3) A bal oldali ablaktáblán kattintson duplán a lapra, ahol a kódot kell futtatni.
  • 4) Most a kód ablak tetején látható (Általános) egy legördülő listával, és (Nyilatkozatok) egy legördülő listával.
  • 5) Kattintson a legördülő listára (Általános), és válassza a Munkalap lehetőséget.
  • 6) Most a kódablakban megjelenik a Private Sub Worksheet_SelectionChange (ByVal Target As Range)
  • 7) Távolítsa el a "Kiválasztás" szót. El szeretné távolítani a "Kiválasztást", mert ez azt jelenti, hogy amikor a munkalapon egy cellára kattint, valami történik. Nem akarod, hogy megadj egy értéket a D10-ben. Most le kell olvasnia a Private Sub Worksheet_Change-t (ByVal Target As Range)
  • 8) Ez az a hely, ahol a kódot szeretné ...

 Privát alfunkció_Módosítás (ByVal-céltartomány)

Ha Target.Address = "$ D $ 10", akkor

Hívja a MyMacro-t

Vége Ha

Vége vége

  • 9) Ha a D10 értékét megváltoztatja, a munkalapváltási esemény "Hívja" a makrót.

jegyzet

Köszönet WutUp WutUp-nak a fórumon található tippért.
Előző Cikk Következő Cikk

Top Tippek