ສາລະບານ
ໃນບົດຄວາມນີ້, ຂ້າພະເຈົ້າຈະສະແດງໃຫ້ທ່ານວິທີການທີ່ທ່ານສາມາດວິເຄາະສະຖານະການໃນ Excel VBA ຖ້າຫາກວ່າຫ້ອງມີຄ່າ. ທ່ານຈະໄດ້ຮຽນຮູ້ການວິເຄາະສະຖານະການສໍາລັບຄ່າໃດນຶ່ງ ແລະຄ່າສະເພາະ.
Excel VBA Analysis: ຖ້າ Cell ມີຄ່າແລ້ວ (ເບິ່ງດ່ວນ)
5574
ດາວໂຫລດຄູ່ມືການປະຕິບັດ
ດາວໂຫລດປື້ມຄູ່ມືການປະຕິບັດນີ້ເພື່ອອອກກໍາລັງກາຍໃນຂະນະທີ່ທ່ານກໍາລັງອ່ານບົດຄວາມນີ້.
VBA ຖ້າ Cell ມີຄ່າຫຼັງຈາກນັ້ນ.xlsm
ການວິເຄາະ Excel VBA: ຖ້າ Cell ມີຄ່າແລ້ວສົ່ງຜົນຕອບແທນ (ການວິເຄາະເທື່ອລະຂັ້ນຕອນ)
ນີ້ພວກເຮົາມີຊຸດຂໍ້ມູນທີ່ມີເຄື່ອງໝາຍຂອງນັກຮຽນບາງຄົນໃນວິຊາຟີຊິກ, ເຄມີ, ແລະຄະນິດສາດຢູ່ໃນໂຮງຮຽນທີ່ເອີ້ນວ່າ Sunflower Kindergarten.
ຈຸລັງເປົ່າຫມາຍຄວາມວ່ານັກຮຽນບໍ່ໄດ້ປະກົດຕົວ, ນັ້ນແມ່ນ, ບໍ່ໄດ້ຢູ່ໃນການສອບເສັງສະເພາະນັ້ນ. ຕອນນີ້ໃຫ້ເຮົາວິເຄາະສະຖານະການ, ບໍ່ວ່າຈະເປັນຕາລາງໃດໜຶ່ງມີຄ່າຫຼືບໍ່, ດ້ວຍຊຸດຂໍ້ມູນນີ້.
⧪ ຂັ້ນຕອນທີ 1: ການປະກາດເຊລ
ທຳອິດ, ພວກເຮົາຕ້ອງ ປະກາດເຊລທີ່ມີຄ່າທີ່ພວກເຮົາຕ້ອງການວິເຄາະ. ມາວິເຄາະເບິ່ງວ່າ Jennifer Marlo ປະກົດຢູ່ໃນການສອບເສັງຟີຊິກຫຼືບໍ່.
ດັ່ງນັ້ນ, ພວກເຮົາຕ້ອງກວດເບິ່ງວ່າເຊລ C12 ມີຄ່າຫຼືບໍ່.
ເພື່ອເຮັດແນວນັ້ນ, ກ່ອນອື່ນ, ພວກເຮົາຕ້ອງປະກາດເຊລ C12 .
ແຖວຂອງລະຫັດເພື່ອເຮັດສຳເລັດອັນນີ້ຈະເປັນ:
2823
⧪ ຂັ້ນຕອນທີ 2: ກວດເບິ່ງວ່າເຊລມີຢູ່ຫຼືບໍ່. ມູນຄ່າ (ລວມທັງຄ່າສະເພາະ)
ຕໍ່ໄປ, ພວກເຮົາຕ້ອງກວດເບິ່ງວ່າຕາລາງມີຄ່າຫຼືບໍ່. ພວກເຮົາຈະດໍາເນີນການນີ້ໂດຍໃຊ້ ຖ້າເງື່ອນໄຂ . ແຖວຂອງລະຫັດຈະເປັນ:
7489
ລະຫັດນີ້ຈະຖືກປະຕິບັດຖ້າຕາລາງມີຄ່າໃດໆ. ເພື່ອກວດສອບຄ່າໃດໜຶ່ງ (ຕົວຢ່າງ, ມັນມີ 100 ຫຼືບໍ່), ໃຫ້ໃຊ້ຄ່າສະເພາະນັ້ນດ້ວຍສັນຍາລັກ ເທົ່າກັບ .
5569
⧪ ຂັ້ນຕອນທີ 3: ການຈັດສັນໜ້າວຽກ.
ຈາກນັ້ນທ່ານຕ້ອງໄດ້ຕັ້ງໜ້າວຽກທີ່ຈະຖືກປະຕິບັດຖ້າຫາກວ່າເຊລມີຄ່າ (ຫຼືຄ່າສະເພາະ).
ຢູ່ທີ່ນີ້, ພວກເຮົາຕ້ອງການສະແດງຂໍ້ຄວາມ “Jennifer Marlo ປະກົດຢູ່ໃນການສອບເສັງຟີຊິກ.” . ດັ່ງນັ້ນແຖວຂອງລະຫັດຈະເປັນ:
3859
⧪ ຂັ້ນຕອນທີ 4: ການສິ້ນສຸດການບລັອກ If
ສຸດທ້າຍ, ທ່ານຕ້ອງປະກາດການສິ້ນສຸດຂອງ If block.
9623
ດັ່ງນັ້ນ VBA ລະຫັດທີ່ສົມບູນຈະເປັນ:
⧭ ລະຫັດ VBA:
5401
ແລ່ນລະຫັດນີ້ໂດຍການຄລິກທີ່ປຸ່ມ Run Sub/UserForm ເທິງແຖບເຄື່ອງມື.
ມັນຈະສະແດງຂໍ້ຄວາມ “Jennifer Marlo ປະກົດຢູ່ໃນການສອບເສັງຟີຊິກ.” ເນື່ອງຈາກເຊລ C12 ມີຄ່າ, ຂອງ 50 .
ຕົວຢ່າງທີ່ກ່ຽວຂ້ອງກັບຖ້າຫາກວ່າ Cell ມີຄ່າດັ່ງນັ້ນຜົນຜະລິດສະເພາະທີ່ມີ Excel VBA
ພວກເຮົາໄດ້ຮຽນຮູ້ທີ່ຈະວິເຄາະວ່າເຊລມີຄ່າຫຼື ບໍ່ຢູ່ໃນ VBA . ດຽວນີ້, ມາສຳຫຼວດຕົວຢ່າງບາງຢ່າງເພື່ອເຮັດໃຫ້ຄວາມເຂົ້າໃຈຈະແຈ້ງ.
1. ການພັດທະນາ Macro ເພື່ອກັ່ນຕອງຄ່າອອກຖ້າຫາກວ່າ Cell ທີ່ສອດຄ້ອງກັນມີຄ່າໃດຫນຶ່ງໃນ Excel VBA
ໃຫ້ເຮົາພັດທະນາເປັນ Macro ເພື່ອກັ່ນຕອງນັກຮຽນທີ່ປາກົດຢູ່ໃນແຕ່ລະການສອບເສັງ.
ນັ້ນແມ່ນ, ພວກເຮົາຕ້ອງກວດເບິ່ງເຊລທີ່ມີເຄື່ອງໝາຍຂອງແຕ່ລະວິຊາ ແລະເບິ່ງວ່າພວກມັນມີຄ່າຫຼືບໍ່. ຫຼືບໍ່.
ຖ້າພວກເຂົາເຮັດ, ພວກເຮົາຕ້ອງຈັດຮຽງຊື່ຂອງນັກຮຽນທີ່ສອດຄ້ອງກັນ.
ລະຫັດ VBA ທີ່ສົມບູນເພື່ອເຮັດອັນນີ້ຈະເປັນ:<3
⧭ ລະຫັດ VBA:
3481
⧭ ຜົນຜະລິດ:
ເລືອກຊຸດຂໍ້ມູນ ( ລວມທັງ Headers ) ແລະດໍາເນີນການນີ້ Macro .
ທໍາອິດ, ທ່ານຈະຖືກຮ້ອງຂໍໃຫ້ໃສ່ການອ້າງອີງຂອງທໍາອິດ. ຕາລາງບ່ອນທີ່ທ່ານຕ້ອງການຂໍ້ມູນການກັ່ນຕອງ. ຂ້ອຍໄດ້ເຂົ້າ G3 .
ຈາກນັ້ນຄລິກ ຕົກລົງ . ທ່ານຈະໄດ້ຮັບຊື່ຂອງນັກສຶກສາທີ່ມີຢູ່ໃນການສອບເສັງແຕ່ລະຄົນ (ລວມທັງ ຫົວຂໍ້ ) ໃນຊຸດຂໍ້ມູນໃຫມ່ໂດຍເລີ່ມຕົ້ນຈາກ cell G3 .
2. ການສ້າງຟັງຊັນທີ່ກຳນົດໂດຍຜູ້ໃຊ້ເພື່ອຈັດຮຽງຄ່າໃດໜຶ່ງ ຖ້າເຊລທີ່ສອດຄ້ອງກັນມີຄ່າສະເພາະໃນ Excel VBA
ຕອນນີ້ພວກເຮົາຈະສ້າງຟັງຊັນທີ່ຜູ້ໃຊ້ກຳນົດໄວ້ເຊິ່ງຈະສົ່ງຄືນຊື່ຂອງນັກຮຽນ. ຜູ້ທີ່ໄດ້ຮັບເຄື່ອງໝາຍສະເພາະໃນແຕ່ລະວິຊາ.
ຂັ້ນຕອນແມ່ນເກືອບຄືກັນກັບຂ້າງເທິງ. ພວກເຮົາຕ້ອງກວດເບິ່ງເຊລທີ່ມີເຄື່ອງໝາຍຂອງແຕ່ລະວິຊາ ແລະເບິ່ງວ່າພວກມັນເທົ່າກັບຄ່າສະເພາະຫຼືບໍ່.
ຖ້າພວກມັນແມ່ນ, ພວກເຮົາຈະສົ່ງຄືນຊື່ຂອງນັກຮຽນທີ່ສອດຄ້ອງກັນ.
ລະຫັດ VBA ຈະເປັນ:
⧭ VBAລະຫັດ:
5899
⧭ Output:
ລະຫັດຈະສ້າງຟັງຊັນທີ່ເອີ້ນວ່າ Cells_with_Values ນັ້ນ. ໃຊ້ສອງອາກິວເມັນ, Range ແລະ Value .
ໃຫ້ຊອກຫານັກຮຽນທີ່ໄດ້ 100 ໃນແຕ່ລະວິຊາໂດຍໃຊ້ຟັງຊັນນີ້.
ເລືອກຊ່ວງຂອງເຊວໃນແຜ່ນງານຂອງເຈົ້າ ແລະໃສ່ຟັງຊັນນີ້ຢູ່ໃນເຊລທຳອິດຂອງຊ່ວງ:
=Cells_with_Values(B3:E13,100)
[ທີ່ນີ້ B3: E3 ແມ່ນຊຸດຂໍ້ມູນຂອງຂ້ອຍ (ລວມທັງ ສ່ວນຫົວ ) ແລະ 100 ແມ່ນຄ່າທີ່ກົງກັນຂອງຂ້ອຍ. ທ່ານໃຊ້ອັນດຽວຂອງເຈົ້າ.]
ຈາກນັ້ນກົດ CTRL + SHIFT + ENTER ( ສູດອາເຣ ). ມັນຈະສົ່ງຄືນອາເຣທີ່ປະກອບດ້ວຍຊື່ຂອງນັກຮຽນທີ່ໄດ້ຮັບ 100 ໃນແຕ່ລະວິຊາ, ລວມທັງ ສ່ວນຫົວ .
3. ການພັດທະນາແບບຟອມຜູ້ໃຊ້ເພື່ອສະກັດເອົາຄ່າອອກຖ້າເຊລທີ່ສອດຄ້ອງກັນມີຄ່າໃດໆ (ຫຼືຄ່າສະເພາະ) ໃນ Excel VBA
ສຸດທ້າຍ, ພວກເຮົາຈະພັດທະນາ ແບບຟອມຜູ້ໃຊ້ ເພື່ອສະກັດເອົາ. ຊື່ຂອງນັກຮຽນທີ່ປາກົດ (ຫຼືໄດ້ຄະແນນສະເພາະ) ໃນບາງບົດສອບເສັງສະເພາະ.
⧪ ຂັ້ນຕອນທີ 1: ການເປີດແບບຟອມຜູ້ໃຊ້
ໄປທີ່ ແຊກ > ຕົວເລືອກ UserForm ໃນຕົວແກ້ໄຂ VBA ເພື່ອເປີດ UserForm ໃໝ່. UserForm ໃໝ່ທີ່ເອີ້ນວ່າ UserForm1 ຈະຖືກເປີດ.
⧪ ຂັ້ນຕອນທີ 2: ການລາກເຄື່ອງມືໄປຫາແບບຟອມຜູ້ໃຊ້
ນອກເໜືອໄປຈາກ UserForm , ທ່ານຈະໄດ້ຮັບ Toolbox . ຍ້າຍເຄີເຊີຂອງທ່ານໄປໃສ່ Toolbox ແລະລາກ 4 Labels (Label1, Label2,Label3, Label4) ແລະ 3 ListBoxes (ListBox1, ListBox2, ListBox3) ແລະ TextBox (TextBox1) ໃນຮູບສີ່ຫຼ່ຽມມົນຢູ່ເທິງ UserForm .
ຈາກນັ້ນລາກອີກ ປ້າຍກຳກັບ (Label5) ແລະ ກ່ອງຂໍ້ຄວາມ (TextBox2) ໄປໃສ່ມຸມຊ້າຍລຸ່ມຂອງ ແບບຟອມຜູ້ໃຊ້ .
ສຸດທ້າຍ, ລາກ ປຸ່ມຄໍາສັ່ງ (CommandButton1) ໄປມຸມຂວາລຸ່ມ.
ປ່ຽນຈໍສະແດງຜົນຂອງ ປ້າຍກຳກັບ ເປັນ ຊອກຫາຖັນ , Return Column , ຄ່າໃດນຶ່ງ ຫຼືຄ່າສະເພາະ , Value, ແລະ Starting Cell.
ນອກຈາກນັ້ນ, ປ່ຽນການສະແດງຜົນຂອງ CommandButton1 ເປັນ ຕົກລົງ .
⧪ ຂັ້ນຕອນທີ 3: ການຂຽນລະຫັດສໍາລັບ ListBox3
ຄລິກສອງເທື່ອໃສ່ ListBox3 . A Private Subprocedure ເອີ້ນວ່າ ListBox3_Click ຈະເປີດ. ໃສ່ລະຫັດຕໍ່ໄປນີ້ໃສ່ບ່ອນນັ້ນ.
6260
⧪ ຂັ້ນຕອນທີ 4: ການຂຽນລະຫັດສໍາລັບ CommandButton1
ຈາກນັ້ນຄລິກສອງເທື່ອໃສ່ CommandButton1 . ອີກ ຂັ້ນຕອນຍ່ອຍສ່ວນຕົວ ທີ່ເອີ້ນວ່າ CommandButton1_Click ຈະເປີດ. ໃສ່ລະຫັດຕໍ່ໄປນີ້ໃສ່ບ່ອນນັ້ນ.
7081
⧪ ຂັ້ນຕອນທີ 5: ການຂຽນລະຫັດສໍາລັບການແລ່ນ UserForm
ສຸດທ້າຍ, ໃສ່ ໂມດູນ ໃໝ່ຈາກ ແຖບເຄື່ອງມື VBA ແລະໃສ່ລະຫັດຕໍ່ໄປນີ້ໃສ່ບ່ອນນັ້ນ.
2724
⧪ ຂັ້ນຕອນທີ 6: ແລ່ນແບບຟອມຜູ້ໃຊ້ (ຜົນສຸດທ້າຍ) <3
UserForm ຂອງທ່ານຕອນນີ້ພ້ອມນຳໃຊ້ແລ້ວ. ເລືອກຊຸດຂໍ້ມູນຈາກແຜ່ນວຽກ ( B3:E13 ທີ່ນີ້) (ລວມທັງ ສ່ວນຫົວ ) ແລະແລ່ນ Macro ເອີ້ນວ່າ Run_UserForm .
The UserForm ຈະຖືກໂຫລດຢູ່ໃນແຜ່ນວຽກ. ຈາກຕາຕະລາງ ຊອກຫາຖັນ , ຂ້ອຍເລືອກ ຟີຊິກ ແລະ ຄະນິດສາດ , ເພາະວ່າຂ້ອຍຕ້ອງການເອົາຊື່ນັກຮຽນທີ່ປາກົດຢູ່ໃນ ຟີຊິກ ແລະ ຄະນິດສາດ ການສອບເສັງ.
ຈາກຕາຕະລາງ ຖັນກັບຄືນ , ຂ້ອຍໄດ້ເລືອກ ຊື່ນັກຮຽນ , ເພາະວ່າຂ້ອຍຕ້ອງການເອົາຊື່ນັກຮຽນ.
ແລະຈາກຕາຕະລາງ ຄ່າໃດນຶ່ງ ຫຼືຄ່າສະເພາະ , ຂ້ອຍໄດ້ເລືອກ ຄ່າໃດນຶ່ງ .
ສຸດທ້າຍ, ໃນ Starting Cell ກ່ອງ, ຂ້ອຍໄດ້ໃສ່ G3 .
ຈາກນັ້ນຄລິກ ຕົກລົງ . ທ່ານຈະໄດ້ຮັບຊື່ຂອງນັກສຶກສາທີ່ມີຢູ່ໃນ Physics ແລະ Mathematics ການສອບເສັງເລີ່ມຕົ້ນຈາກ cell G3 .
ຖ້າທ່ານໄດ້ເລືອກ ຄ່າສະເພາະ ຈາກຕາຕະລາງ ຄ່າໃດນຶ່ງ ຫຼືຄ່າສະເພາະ , ເຈົ້າຈະມີ TextBox ອື່ນເພື່ອໃສ່ຄ່າສະເພາະ.
ບ່ອນນີ້ຂ້ອຍໄດ້ເຂົ້າ 100 .
ຄລິກ ຕົກລົງ . ແລະເຈົ້າຈະໄດ້ຮັບນັກຮຽນທີ່ໄດ້ຮັບ 100 ໃນ ຟີຊິກ ແລະ ເຄມີ .
ສິ່ງທີ່ຄວນຈື່
ພວກເຮົາໄດ້ໃຊ້ array ສອງມິຕິເພື່ອສົ່ງຄືນຊື່ນັກຮຽນໃນ User-Defined Function ອະທິບາຍໃນຕົວຢ່າງ 2 .