VBA பயன்படுத்திய ரேஞ்ச் | பயன்படுத்தப்பட்ட வரிசைகள் மற்றும் நெடுவரிசைகளின் எண்ணிக்கையை எவ்வாறு கண்டுபிடிப்பது?

UsedRange, பெயர் குறிப்பிடுவது போல, அவற்றில் சில வகையான மதிப்புகள், வெற்று செல்கள் பயன்படுத்தப்பட்ட வரம்புகளில் சேர்க்கப்படவில்லை, எனவே VBA இல் பயன்படுத்தப்பட்ட வரம்புகள் VBA இல் உள்ள வரம்பின் பொருளின் சொத்து ஆகும். வரிசைகள் மற்றும் நெடுவரிசைகள் காலியாக இல்லை மற்றும் அதில் சில மதிப்புகள் உள்ளன.

VBA எக்செல் இல் பயன்படுத்தப்பட்ட ரேஞ்ச்

VBA இல் பயன்படுத்தப்பட்ட ரேஞ்ச் என்பது பணித்தாளின் ஒரு சொத்து, இது ஒரு குறிப்பிட்ட பணித்தாளில் பயன்படுத்தப்படும் வரம்பைக் குறிக்கும் (அனைத்து எக்செல் கலங்களும் பயன்படுத்தப்பட்ட அல்லது பணித்தாளில் நிரப்பப்பட்ட) வரம்பைக் குறிக்கும். இது ஒரு பணித்தாளில் மேல்-இடது பயன்படுத்தப்பட்ட செல் மற்றும் கடைசியாக வலதுபுறம் பயன்படுத்தப்பட்ட கலங்களால் மூடப்பட்ட அல்லது எல்லைக்குட்பட்ட பகுதியைக் குறிக்கும் ஒரு சொத்து.

எந்தவொரு சூத்திரம், வடிவமைத்தல், மதிப்பு போன்றவற்றைக் கொண்ட கலமாக ‘பயன்படுத்திய கலத்தை’ நாம் விவரிக்கலாம். விசைப்பலகையில் CTRL + END விசைகளை அழுத்துவதன் மூலம் கடைசியாகப் பயன்படுத்தப்பட்ட கலத்தையும் தேர்ந்தெடுக்கலாம்.

பணித்தாளில் பயன்படுத்தப்பட்ட ரேஞ்சின் விளக்கம் பின்வருமாறு:

பயன்படுத்திய ரேஞ்ச் A1: D5 என்பதை மேலே உள்ள ஸ்கிரீன்ஷாட்டில் காணலாம்.

எக்செல் விபிஏ பயன்படுத்திய ரேஞ்ச் சொத்தின் எடுத்துக்காட்டுகள்

VBA இல் பயன்படுத்தப்பட்ட வரம்பைக் கண்டறிய பணித்தாளில் பயன்படுத்தப்பட்ட ரேஞ்ச் சொத்து எவ்வாறு பயன்படுத்தப்படலாம் என்பதைக் காண கீழே உள்ள சில எடுத்துக்காட்டுகளைப் பார்ப்போம்:

இந்த VBA UsedRange Excel வார்ப்புருவை இங்கே பதிவிறக்கம் செய்யலாம் - VBA UsedRange Excel வார்ப்புரு

எடுத்துக்காட்டு # 1

எங்களிடம் இரண்டு பணித்தாள்களைக் கொண்ட எக்செல் கோப்பு உள்ளது என்று சொல்லலாம், மேலும் தாள் 1 இல் பயன்படுத்தப்பட்ட வரம்பைக் கண்டுபிடித்து தேர்ந்தெடுக்க விரும்புகிறோம்.

தாள் 1 இல் என்ன இருக்கிறது என்று பார்ப்போம்:

இந்த பணியை நிறைவேற்ற VBA உடனடி சாளரத்தில் பயன்படுத்தப்பட்ட ரேஞ்ச் சொத்தைப் பயன்படுத்துகிறோம். VBA உடனடி சாளரம் என்பது எக்செல் கோப்புகளைப் பற்றிய தகவல்களைப் பெறவும், எந்தவொரு VBA குறியீட்டை விரைவாக இயக்கவும் அல்லது பிழைத்திருத்தவும் உதவுகிறது, பயனர் எந்த மேக்ரோக்களையும் எழுதவில்லை என்றாலும். இது விஷுவல் பேசிக் எடிட்டரில் அமைந்துள்ளது மற்றும் பின்வருமாறு அணுகலாம்:

  • டெவலப்பர் தாவல் எக்செல் என்பதற்குச் சென்று, பின்னர் விஷுவல் பேசிக் எடிட்டரைக் கிளிக் செய்க, அல்லது Alt + F11 ஐ அழுத்தவும் விஷுவல் பேசிக் எடிட்டர் சாளரத்தைத் திறக்க.

இதைச் செய்யும்போது, ​​ஒரு சாளரம் பின்வருமாறு திறக்கிறது:

  • Ctrl + G ஐ அழுத்தவும் உடனடி சாளரத்தைத் திறந்து, குறியீட்டைத் தட்டச்சு செய்க.

உடனடி சாளரம் போல் தெரிகிறது:

  • பின்வரும் குறியீடு தாள் 1 இல் பயன்படுத்தப்பட்ட வரம்பைத் தேர்ந்தெடுக்கும்

குறியீடு:

? பணித்தாள்கள் ("தாள் 1"). உண்மையைச் செயலாக்கு? செயலில் உள்ள தாள்.பயன்படுத்தப்பட்ட ரேஞ்ச். உண்மை என்பதைத் தேர்ந்தெடுக்கவும்

குறியீட்டின் முதல் அறிக்கை கோப்பின் தாள் 1 ஐ செயல்படுத்தும், இரண்டாவது அறிக்கை அந்த செயலில் உள்ள தாளில் பயன்படுத்தப்படும் வரம்பைத் தேர்ந்தெடுக்கும்.

இந்த குறியீட்டை எழுதும்போது, ​​தாள் 1 இல் பயன்படுத்தப்படும் வரம்பு பின்வருமாறு தேர்ந்தெடுக்கப்படுவதைக் காண்கிறோம்:

எடுத்துக்காட்டு # 2

இப்போது, ​​இந்த எடுத்துக்காட்டில் தாள் 1 இல் பயன்படுத்தப்படும் மொத்த வரிசைகளின் எண்ணிக்கையைக் கண்டுபிடிக்க விரும்புகிறோம். இதைச் செய்ய, பின்வரும் படிகளைப் பின்பற்றுகிறோம்:

  • தொகுதியில் ஒரு மேக்ரோ பெயரை உருவாக்கவும்.

குறியீடு:

 துணை மொத்த வரிசைகள் () முடிவு துணை 

  • VBA இல் மொத்தம் என மாறி டோட்டல் ரோவை வரையறுக்கவும்:

குறியீடு:

 துணை மொத்த வரிசைகள் () மங்கலான மொத்த வரிசை முழு எண் துணை துணை 

  • இப்போது மொத்த வரிசைகளின் எண்ணிக்கையைக் கணக்கிட சூத்திரத்துடன் டோட்டல் ரோ என்ற மாறி ஒதுக்கவும்:

குறியீடு:

 சப் டோட்டல் ரோஸ் () டிம் டோட்டல் ரோ என இன்டீஜர் டோட்டல் ரோ = ஆக்டிவ்ஷீட்.யூஸ்ரேஞ்ச்.ரோஸ்.கவுண்ட் எண்ட் சப் 

  • இப்போது டோட்டல் ரோவின் விளைவாக மதிப்பு காட்டப்பட்டு VBA செய்தி பெட்டியை (MsgBox) பயன்படுத்தி பின்வருமாறு கொடுக்கலாம்:

குறியீடு:

 சப் டோட்டல் ரோஸ் () மங்கலான டோட்டல் ரோ என இன்டீஜர் டோட்டல் ரோ = ஆக்டிவ்ஷீட்.யூஸ்ரேஞ்ச்.ரோஸ்.கவுண்ட் எம்.எஸ்.ஜி. 

  • இப்போது நாம் இந்த குறியீட்டை கைமுறையாக அல்லது F5 ஐ அழுத்துவதன் மூலம் இயக்குகிறோம், மேலும் தாள் 1 இல் பயன்படுத்தப்படும் மொத்த வரிசைகளின் எண்ணிக்கையை ஒரு செய்தி பெட்டியில் பின்வருமாறு காண்பிக்கிறோம்:

எனவே, மேலே உள்ள ஸ்கிரீன்ஷாட்டில் ‘5’ செய்தி பெட்டியில் திரும்புவதைக் காணலாம், மேலும் தாள் 1 இல் நாம் காணக்கூடியது போல, பயன்படுத்தப்பட்ட வரம்பில் உள்ள மொத்த வரிசைகளின் எண்ணிக்கை 5 ஆகும்.

எடுத்துக்காட்டு # 3

இதேபோல், தாள் 1 இல் பயன்படுத்தப்படும் மொத்த நெடுவரிசைகளின் எண்ணிக்கையைக் கண்டுபிடிக்க விரும்பினால், குறியீட்டில் சிறிது மாற்றம் தவிர, மேலே உள்ள அதே படிகளைப் பின்பற்றுவோம்:

குறியீடு:

 சப் டோட்டல்கால்ஸ் () டிம் டோட்டல்கால் இன்டீஜர் டோட்டல்கால் = ஆக்டிவ்ஷீட்.யூஸ்ரேஞ்ச்.கோலமன்ஸ்.கவுண்ட் எம்.எஸ்.ஜி.பாக்ஸ் டோட்டல்கால் எண்ட் சப் 

இப்போது நாம் இந்த குறியீட்டை கைமுறையாக இயக்கும்போது அல்லது F5 ஐ அழுத்துவதன் மூலம், தாள் 1 இல் பயன்படுத்தப்படும் மொத்த நெடுவரிசைகளின் எண்ணிக்கையை ஒரு செய்தி பெட்டியில் பின்வருமாறு காண்பிக்கிறோம்:

எனவே, செய்தி பெட்டியில் ‘4’ திரும்பப் பெறப்படுகிறது, மேலும் தாள் 1 இல் நாம் காணக்கூடியபடி, பயன்படுத்தப்பட்ட வரம்பில் மொத்த நெடுவரிசைகளின் எண்ணிக்கை 4 ஆகும்.

எடுத்துக்காட்டு # 4

இப்போது, ​​கோப்பின் தாள் 2 இல் கடைசியாக பயன்படுத்தப்பட்ட வரிசை மற்றும் நெடுவரிசை எண்ணைக் கண்டுபிடிக்க விரும்புகிறோம் என்று சொல்லலாம். தாள் 2 இல் என்ன இருக்கிறது என்று பார்ப்போம்:

இதைச் செய்ய, நாங்கள் பின்வரும் படிகளைப் பின்பற்றுகிறோம்:

  • தொகுதியில் ஒரு மேக்ரோ பெயரை உருவாக்கவும்.

குறியீடு:

 துணை கடைசி வரிசை () முடிவு துணை 

  • லாஸ்ட்ரோ என்ற மாறி முழு எண்ணாக வரையறுக்கவும்.

குறியீடு:

 சப் லாஸ்ட் ரோ () டிம் லாஸ்ட் ரோ என இன்டிஜெர் எண்ட் சப் 

  • கடைசியாக பயன்படுத்தப்பட்ட வரிசை எண்ணைக் கணக்கிட சூத்திரத்துடன் லாஸ்ட் ரோ என்ற மாறி ஒதுக்கவும்:

குறியீடு:

 சப் லாஸ்ட் ரோ () டிம் லாஸ்ட் ரோ என இன்டிஜெர் லாஸ்ட்ரோ = ஆக்டிவ்ஷீட்.யூஸ்ரேஞ்ச்.ஸ்பெஷியல் செல்கள் (xlCellTypeLastCell) .ரோ எண்ட் சப் 

எக்செல் விபிஏவில் உள்ள ஸ்பெஷல் செல்ஸ் முறை குறிப்பிடப்பட்ட கலங்களின் வகைகளை மட்டுமே குறிக்கும் வரம்பு பொருளை வழங்குகிறது. ஸ்பெஷல் செல்ஸ் முறைக்கான தொடரியல்:

RangeObject.SpecialCells (வகை, மதிப்பு)

மேலே உள்ள குறியீட்டில், xlCellTypeLastCell: பயன்படுத்தப்பட்ட வரம்பில் கடைசி கலத்தைக் குறிக்கிறது.

குறிப்பு: ‘XlCellType’ அவற்றின் எந்த கலங்களின் இயல்புநிலை வடிவத்தை மாற்றிய வெற்று செல்களைக் கூட உள்ளடக்கும்.
  • இப்போது லாஸ்ட்ரோ எண்ணின் விளைவாக மதிப்பைக் காண்பிக்கலாம் மற்றும் செய்தி பெட்டியை (MsgBox) பயன்படுத்தி பின்வருமாறு திருப்பி அனுப்பலாம்:

குறியீடு:

 சப் லாஸ்ட் ரோ () டிம் லாஸ்ட் ரோ என இன்டிஜெர் லாஸ்ட்ரோ = ஆக்டிவ்ஷீட்.யூஸ்ரேஞ்ச்.ஸ்பெஷியல் செல்கள் (xlCellTypeLastCell) .Row MsgBox LastRow End Sub 

  • இப்போது நாம் இந்த குறியீட்டை கைமுறையாக அல்லது F5 ஐ அழுத்துவதன் மூலம் இயக்குகிறோம், மேலும் கடைசியாக பயன்படுத்தப்பட்ட வரிசை எண்ணை தாள் 2 இல் செய்தி பெட்டியில் பின்வருமாறு காண்பிக்கிறோம்:

எனவே, மேலே உள்ள ஸ்கிரீன்ஷாட்டில் ‘12’ செய்தி பெட்டியில் திருப்பித் தரப்படுவதைக் காணலாம், மேலும் தாள் 2 இல் நாம் காணக்கூடியபடி, கடைசியாக பயன்படுத்தப்பட்ட வரிசை எண் 12 ஆகும்.

இதேபோல், தாள் 2 இல் கடைசியாகப் பயன்படுத்தப்பட்ட நெடுவரிசை எண்ணைக் கண்டுபிடிக்க விரும்பினால், குறியீட்டில் சிறிது மாற்றம் தவிர, மேலே உள்ள அதே படிகளைப் பின்பற்றுவோம்:

குறியீடு:

 சப் லாஸ்ட்கால் () டிம் லாஸ்ட்கால் இன்டிஜெர் லாஸ்ட்கால் = ஆக்டிவ்ஷீட்.யூஸ்ரேஞ்ச்.ஸ்பெஷியல்செல்ஸ் (xlCellTypeLastCell) .கலம் MsgBox LastCol End Sub 

இப்போது நாம் இந்த குறியீட்டை கைமுறையாக இயக்கும்போது அல்லது F5 ஐ அழுத்துவதன் மூலம், தாள் 2 இல் கடைசியாக பயன்படுத்தப்பட்ட நெடுவரிசை எண்ணை ஒரு செய்தி பெட்டியில் பின்வருமாறு காண்பிக்கிறோம்:

எனவே, மேலே உள்ள ஸ்கிரீன்ஷாட்டில் ‘3’ செய்தி பெட்டியில் திருப்பித் தரப்படுவதைக் காணலாம், மேலும் தாள் 2 இல் நாம் காணக்கூடியது போல, கடைசியாக பயன்படுத்தப்பட்ட நெடுவரிசை எண் 3 ஆகும்.

VBA பயன்படுத்திய ரேஞ்ச் பற்றி நினைவில் கொள்ள வேண்டிய விஷயங்கள்

  • VBA UsedRange என்பது ஒரு செவ்வக வரம்பு.
  • VBA UsedRange எந்த தரவையும் கொண்ட அல்லது வடிவமைக்கப்பட்ட செல்களை உள்ளடக்கியது.
  • எக்செல் விபிஏ பயன்படுத்திய ரேஞ்சில் பணித்தாளின் மேல்-இடது கலத்தை சேர்க்க வேண்டிய அவசியமில்லை.
  • பயன்படுத்திய ரேஞ்ச் செயலில் உள்ள கலத்தை பயன்படுத்தியதாக கருதவில்லை.
  • VBA இல் கடைசியாகப் பயன்படுத்தப்பட்ட வரிசையைக் கண்டறியவும், பயன்படுத்தப்பட்ட வரம்பை மீட்டமைக்கவும் பயன்படுத்தப்பட்ட ரேஞ்ச் பயன்படுத்தப்படலாம்.
  • குறுக்குவழியை எக்செல் விசைகளை அழுத்துவதன் மூலம் ஒரு விசைப்பலகையில் CTRL + SHIFT + ENTER ஒரு செயலில் உள்ள கலத்திலிருந்து ஒரு பணித்தாளில் கடைசியாக பயன்படுத்தப்பட்ட கலத்திற்கு தேர்வை நீட்டிக்க பயன்படுத்தலாம்.