កោសិកាប្រមូលផ្តុំ

មាតិកា

ជាញឹកញយ ស្ថានភាពមួយកើតឡើងនៅពេលដែលយើងត្រូវការបូកសរុប (ប្រមូលផ្តុំ) តម្លៃជាច្រើនដែលបានបញ្ចូលជាបន្តបន្ទាប់ទៅក្នុងក្រឡាមួយ៖

ទាំងនោះ។ ឧទាហរណ៍ ប្រសិនបើអ្នកបញ្ចូលលេខ 1 ក្នុងក្រឡា A5 នោះលេខ 1 គួរតែបង្ហាញនៅក្នុង B15 ។ ប្រសិនបើអ្នកបញ្ចូលលេខ 1 ក្នុង A7 នោះលេខ 1 គួរតែលេចឡើងក្នុងក្រឡា B22 ហើយដូច្នេះនៅលើ។ ជាទូទៅអ្វីដែលអ្នកគណនេយ្យករ (មិនត្រឹមតែពួកគេប៉ុណ្ណោះទេ) ហៅថាចំនួនសរុប។

អ្នក​អាច​អនុវត្ត​ឧបករណ៍​ផ្ទុក​កោសិកា​ដូច​នេះ​ដោយ​ប្រើ​ម៉ាក្រូ​សាមញ្ញ។ ចុចកណ្ដុរស្ដាំលើផ្ទាំងសន្លឹកដែលក្រឡា A1 និង B1 មានទីតាំងនៅ ហើយជ្រើសរើសពីម៉ឺនុយបរិបទ ប្រភពអត្ថបទ (ប្រភព​កូដ). នៅក្នុងបង្អួចកម្មវិធីនិពន្ធ Visual Basic ដែលបើក ចម្លង និងបិទភ្ជាប់កូដម៉ាក្រូសាមញ្ញ៖

Private Sub Worksheet_Change(ByVal Target As Excel.Range) ជាមួយនឹងគោលដៅប្រសិនបើ .Address(False, False) = "A1" បន្ទាប់មកប្រសិនបើ IsNumeric.Value) បន្ទាប់មក Application.EnableEvents = False Range("A2").Value = Range(" A2").Value + .Value Application.EnableEvents = True End If End If End With End Sub  

អាសយដ្ឋាននៃក្រឡា A1 និង A2 អាចត្រូវបានជំនួសដោយខ្លួនអ្នកផ្ទាល់។

ប្រសិនបើអ្នកត្រូវការតាមដានការបញ្ចូលទិន្នន័យ និងសង្ខេបមិនមែនជាកោសិកានីមួយៗ ប៉ុន្តែជួរទាំងមូល នោះម៉ាក្រូនឹងត្រូវផ្លាស់ប្តូរបន្តិច៖

Private Sub Worksheet_Change(ByVal Target As Excel.Range) ប្រសិនបើមិនប្រសព្វ(Target, Range("A1:A10"))) គ្មានអ្វីទេប្រសិនបើ IsNumeric(Target.Value) បន្ទាប់មក Application.EnableEvents = False Target.Offset(0, 1) .Value = Target.Offset(0, 1).Value + Target.Value Application.EnableEvents = True End If End If End Sub  

វាត្រូវបានសន្មត់ថាទិន្នន័យត្រូវបានបញ្ចូលក្នុងក្រឡានៃជួរ A1:A10 ហើយលេខដែលបានបញ្ចូលត្រូវបានបូកសរុបនៅក្នុងជួរឈរដែលនៅជាប់គ្នានៅខាងស្តាំ។ ប្រសិនបើក្នុងករណីរបស់អ្នកវាមិននៅជាប់គ្នាទេនោះ សូមបង្កើនការផ្លាស់ប្តូរទៅខាងស្តាំនៅក្នុងប្រតិបត្តិករអុហ្វសិត - ជំនួសលេខ 1 ដោយលេខធំជាង។

  • តើម៉ាក្រូជាអ្វី កន្លែងដែលត្រូវបញ្ចូលកូដម៉ាក្រូក្នុង VBA របៀបប្រើពួកវា?

សូមផ្ដល់យោបល់