„Excel“ - paleiskite makrokomandą, kai duomenys įvedami į langelį

Jei vartotojas nori paleisti makrokomandą „Microsoft Excel“, kai nustatoma, kad D10 ląstelė yra užpildyta, „Excel“ darbalapyje, o ne modulyje, turi būti naudojamas darbo lapo keitimo įvykis. //www.4shared.com/file/89145449/43c8c38/Change_Value_of D10. „Microsoft Excel-2007“ yra pasirinkta „Developer Excel“ skirtuko „Visual Basic“ piktograma. Peržiūrėję darbalapį, kuriame pageidaujama, kad kodas būtų paleistas, Deklaracijos ir Bendrosios nuostatos yra atsisakytos, o darbalapis pasirenkamas. Žodis „Selection“ iš „Private Sub Worksheet_SelectionChange“ kodo lange pašalinamas. Norint pakeisti D10 langelio reikšmę, „$ D $ 10“ yra nustatytas adresas. Tai savo ruožtu padarytų darbalapio keitimo įvykį „Skambinti“ makro .

  • Problema
  • Sprendimas
  • Pastaba

Problema

Turiu makrokomandą, kuris veikia, kai vartotojas spustelės mygtuką. Vietoj to, aš noriu, kad makro būtų paleistas, kai bus užpildyta ląstelė D10. D10 duomenys gaunami iš duomenų patvirtinimo išskleidžiamajame sąraše, jei tai svarbu. Tai turėtų būti lengva, bet negaliu suprasti.

Sprendimas

Jūs galite laikyti makrokomandą pirmame modulyje. Jūs turite naudoti darbalapio keitimo įvykį pačiame darbalapyje, o ne modulyje. Leiskite man paaiškinti: pateiksiu failą, kuris bus pateiktas kartu su paaiškinimu. Darbalapyje A5: A25 yra užpildyti skaičiai. Jei įvedate skaitmeninę vertę langelyje D10, diapazonas G5: G10 nukopijuos tai, kas yra A5: A25. Jei ištrinsite vertę D10, tada G5: G10 diapazono turinys bus ištrintas.

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

Nepriklausomai nuo jūsų pradinio kodo turėjo paleisti makrokomandą, įdėti jį į pradinę formą.

Kadangi naudojate „Excel 2007“, tai reikia padaryti:

  • 1) Spustelėkite skirtuką Kūrėjas.
  • 2) Paspauskite „Visual Basic“ piktogramą.
  • 3) Kairiajame lango lange dukart spustelėkite lapą, kuriam reikia jūsų kodo.
  • 4) Dabar kodo lango viršuje pamatysite (Bendrosios) su išskleidžiamajame sąraše ir (Deklaracijos) su išskleidžiamajame sąraše.
  • 5) Spustelėkite išskleidžiamajame sąraše (Bendra) ir pasirinkite Užduotis.
  • 6) Dabar kodų lange matysite Privatus sub darbalapis_Pasirinkimo keitimas (ByVal taikinys kaip diapazonas)
  • 7) Pašalinkite žodį „Pasirinkimas“. Norite pašalinti „Selection“, nes tai reiškia, kad kai spustelėsite darbalapio langelį, tai atsitiks. Nenorite, kad norite įvesti vertę D10. Dabar jis turėtų būti perskaitytas „Privatus„ Sub Worksheet_Change “(„ ByVal Target As Range “).
  • 8) Štai kur norite kodo ...

 Privatus sub darbų lapas_pakeisti (ByVal Target As Range)

Jei Target.Address = "$ D $ 10" Tada

Skambinkite „MyMacro“

Baigti Jei

Pabaiga

  • 9) Reikšmė, kai pakeisite vertę D10, darbalapio keitimo įvykis bus „Skambinti“ jūsų makrokomandai.

Pastaba

Ačiū WutUp WutUp už šį patarimą forume.
Ankstesnis Straipsnis Kitas Straipsnis

Geriausi Patarimai