எக்செல் விபிஏ குறியீட்டை நெறிப்படுத்துதல்: டிச்சிங் .திறனுக்காக தேர்ந்தெடுக்கவும்
எக்செல் விபிஏவில் .செலக்ட் முறையைப் பயன்படுத்துவது, குறியீடு மறுபயன்பாடு மற்றும் செயல்திறனில் அதன் தாக்கம் காரணமாக ஒரு மோசமான நடைமுறையாக பரவலாகக் கருதப்படுகிறது. பல டெவலப்பர்கள் குறைபாடுகளை அறிந்திருக்கிறார்கள், ஆனால் மாற்று அணுகுமுறைகளைக் கண்டுபிடிப்பதில் பெரும்பாலும் போராடுகிறார்கள்.
இந்தக் கட்டுரையில், .ஆக்டிவ்செல் போன்ற பொருள்களைக் குறிப்பிடுவதற்கு மாறிகளைப் பயன்படுத்துவதைத் தேர்ந்தெடுத்து கவனம் செலுத்துவது எப்படி என்பதை ஆராய்வோம். இந்த நுட்பங்களைப் புரிந்துகொண்டு பயன்படுத்துவதன் மூலம், உங்கள் எக்செல் விபிஏ குறியீட்டை தூய்மையானதாகவும் மேலும் வலுவாகவும் மாற்றலாம்.
கட்டளை | விளக்கம் |
---|---|
Dim | VBA இல் மாறிகளை அறிவிக்கிறது, அவற்றின் வகையைக் குறிப்பிடுகிறது. |
Set | ஒரு மாறிக்கு ஒரு பொருள் குறிப்பை ஒதுக்குகிறது. |
ThisWorkbook | VBA குறியீடு இயங்கும் பணிப்புத்தகத்தைக் குறிக்கிறது. |
Sheets | பணிப்புத்தகத்தில் உள்ள பணித்தாளை அணுகுகிறது. |
Range | பணித்தாளில் உள்ள கலங்களின் வரம்பைக் குறிப்பிடுகிறது. |
For Each...Next | சேகரிப்பு அல்லது அணிவரிசையில் உள்ள ஒவ்வொரு உருப்படியையும் சுழற்றுகிறது. |
Value | செல் அல்லது கலங்களின் வரம்பின் மதிப்பைப் பெறுகிறது அல்லது அமைக்கிறது. |
Excel VBA செயல்திறனைத் தவிர்ப்பதன் மூலம் மேம்படுத்துதல் .தேர்ந்தெடுக்கவும்
முதல் ஸ்கிரிப்ட் பயன்படுத்துவதை எவ்வாறு தவிர்ப்பது என்பதை விளக்குகிறது .Select எக்செல் விபிஏவில் குறிப்பிட்ட பொருட்களைக் குறிப்பிட மாறிகளைப் பயன்படுத்துவதன் மூலம் முறை. இந்த எடுத்துக்காட்டில், ஐப் பயன்படுத்தி மாறிகளை அறிவிப்பதன் மூலம் தொடங்குகிறோம் Dim ஒரு பணித்தாளை வரையறுக்க அறிக்கை (ws), ஒரு வரம்பு (rng), மற்றும் அந்த வரம்பிற்குள் உள்ள தனிப்பட்ட செல்கள் (cell) இந்த மாறிகளை அமைப்பதன் மூலம் Set கட்டளை, குறிப்பிட்ட வரம்பை தேர்ந்தெடுக்காமல் நேரடியாக கையாளலாம். ஸ்கிரிப்ட் வரம்பில் உள்ள ஒவ்வொரு கலத்தின் வழியாகவும் சுழல்கிறது For Each...Next லூப், ஒவ்வொரு கலத்தின் மதிப்பையும் இரட்டிப்பாக்குகிறது. இந்த அணுகுமுறை குறியீட்டின் மறுபயன்பாடு மற்றும் செயல்திறனை மேம்படுத்துகிறது, ஏனெனில் இது தேவையற்ற தேர்வுகளை நீக்குகிறது மற்றும் நேரடி செல் கையாளுதலில் கவனம் செலுத்துகிறது.
இரண்டாவது ஸ்கிரிப்ட் இதேபோன்ற கருத்தைக் காட்டுகிறது, ஆனால் மதிப்புகளைப் பயன்படுத்தாமல் ஒரு வரம்பிலிருந்து மற்றொரு வரம்பிற்கு நகலெடுப்பதில் கவனம் செலுத்துகிறது .Select முறை. நாங்கள் மீண்டும் பயன்படுத்துகிறோம் Dim இலக்கு பணித்தாளின் மாறிகளை அறிவிக்க அறிக்கை (targetSheet), மூல வரம்பு (sourceRange), மற்றும் இலக்கு வரம்பு (targetRange) உடன் இந்த மாறிகளை அமைத்த பிறகு Set கட்டளை, ஸ்கிரிப்ட் மதிப்புகளை நகலெடுக்கிறது sourceRange செய்ய targetRange இலக்கு வரம்பின் மதிப்பு சொத்தை மூல வரம்பிற்கு நேரடியாக ஒதுக்குவதன் மூலம். இந்த முறை குறியீடு சுத்தமாகவும் திறமையாகவும் இருப்பதை உறுதிசெய்கிறது, இது பயன்படுத்துவதில் உள்ள சிக்கல்களைத் தவிர்க்கிறது .Select மற்றும் VBA ஸ்கிரிப்ட்டின் ஒட்டுமொத்த செயல்திறனை மேம்படுத்துகிறது.
Excel VBA ஐ மேம்படுத்துதல்: .தேர்ந்தெடு பயன்படுத்துவதற்கான மாற்றுகள்
எக்செல் இல் VBA நிரலாக்கம்
Sub AvoidSelectWithVariables()
Dim ws As Worksheet
Dim rng As Range
Dim cell As Range
' Set worksheet and range variables
Set ws = ThisWorkbook.Sheets("Sheet1")
Set rng = ws.Range("A1:A10")
' Loop through each cell in the range
For Each cell In rng
' Perform actions on each cell directly
cell.Value = cell.Value * 2
Next cell
End Sub
நீக்க எக்செல் VBA குறியீட்டை மறுசீரமைத்தல் .தேர்ந்தெடுக்கவும்
எக்செல் VBA குறியீடு மேம்படுத்தல்
Sub RefactorWithoutSelect()
Dim targetSheet As Worksheet
Dim sourceRange As Range
Dim targetRange As Range
' Define the worksheet and ranges
Set targetSheet = ThisWorkbook.Sheets("Sheet2")
Set sourceRange = targetSheet.Range("B1:B10")
Set targetRange = targetSheet.Range("C1:C10")
' Copy values from source to target range without selecting
targetRange.Value = sourceRange.Value
End Sub
எக்செல் VBA மாஸ்டரிங்: தவிர்க்க மேம்பட்ட நுட்பங்கள் .தேர்ந்தெடுக்கவும்
பைபாஸ் செய்ய மாறிகளைப் பயன்படுத்துவதைத் தவிர .Select முறை, மற்றொரு பயனுள்ள நுட்பம் பயன்படுத்துவதை உள்ளடக்கியது With அறிக்கை. தி With ஒரு பொருளை மீண்டும் மீண்டும் குறிப்பிடாமல் பல செயல்பாடுகளைச் செய்ய அறிக்கை உங்களை அனுமதிக்கிறது. இது உங்கள் குறியீட்டை எளிதாக்குவது மட்டுமல்லாமல், அதன் வாசிப்புத்திறனையும் செயல்திறனையும் மேம்படுத்துகிறது. எடுத்துக்காட்டாக, வரம்பைத் தேர்ந்தெடுத்து, அதன் மீது பல செயல்களைச் செய்வதற்குப் பதிலாக, அந்தச் செயல்களை ஒரு வரம்பிற்குள் மடிக்கலாம். With தடுப்பு, அதன் மூலம் பயன்படுத்த வேண்டிய தேவையை தவிர்க்கிறது .Select.
தவிர்க்க மற்றொரு மேம்பட்ட முறை .Select பயன்படுத்துகிறது Application எக்செல் பண்புகள் மற்றும் முறைகளை நேரடியாக கையாள வேண்டும். தி Application எக்செல் சுற்றுச்சூழலின் பல்வேறு கூறுகளைத் தேர்ந்தெடுக்காமல் அவற்றைத் தொடர்புகொள்வதற்கு, எக்செல் முழுவதையும் கட்டுப்படுத்துவதற்கான வழியை ஆப்ஜெக்ட் வழங்குகிறது. எடுத்துக்காட்டாக, செயலில் உள்ள தாளை மாற்றலாம் அல்லது செயலில் உள்ள கலத்தை நேரடியாக அணுகலாம் Application ஆப்ஜெக்ட், அதன் மூலம் உங்கள் குறியீட்டை நெறிப்படுத்தி அதை மேலும் திறமையாக்குகிறது. இந்த நுட்பங்கள், மாறிகள் மற்றும் சுழல்களின் பயன்பாட்டுடன் இணைந்து, உங்கள் VBA நிரலாக்க திறன்களை கணிசமாக மேம்படுத்தலாம் மற்றும் மேலும் பராமரிக்கக்கூடிய மற்றும் செயல்திறன் குறியீட்டை உருவாக்கலாம்.
தவிர்ப்பது பற்றி அடிக்கடி கேட்கப்படும் கேள்விகள் .எக்செல் VBA இல் தேர்ந்தெடுக்கவும்
- VBA இல் .Select ஐப் பயன்படுத்துவதில் உள்ள முக்கிய குறைபாடு என்ன?
- பயன்படுத்தி .Select உங்கள் குறியீட்டை குறைந்த செயல்திறன் மற்றும் பராமரிப்பது கடினமாக்கலாம், ஏனெனில் இது பெரும்பாலும் தேவையற்ற படிகளை உள்ளடக்கியது மற்றும் பிழைகளுக்கு வழிவகுக்கும்.
- .Select ஐப் பயன்படுத்தாமல் ஒரு கலத்தை எவ்வாறு குறிப்பிடுவது?
- வரம்பு அல்லது கலத்தைச் சேமிக்க மாறியைப் பயன்படுத்தவும், அதை நேரடியாகக் கையாளவும், எ.கா. Set cell = Worksheets("Sheet1").Range("A1").
- VBA இல் உடன் அறிக்கையின் நன்மை என்ன?
- தி With கூற்று ஒரு பொருளில் பல செயல்களைச் செய்ய உங்களை அனுமதிக்கிறது, குறியீடு வாசிப்புத்திறன் மற்றும் செயல்திறனை மேம்படுத்துகிறது.
- .Select ஐப் பயன்படுத்தாமல், செல்களின் வரம்பில் நான் எப்படி லூப் செய்வது?
- பயன்படுத்தவும் For Each...Next ஒரு வரம்பில் உள்ள ஒவ்வொரு கலத்தின் வழியாகவும் மீண்டும் மீண்டும் செய்ய வளையம், எ.கா. For Each cell In Range("A1:A10").
- .Select ஐப் பயன்படுத்தாமல் செயலில் உள்ள கலத்தை நான் கையாள முடியுமா?
- ஆம், செயலில் உள்ள கலத்தைப் பயன்படுத்தி நேரடியாகக் குறிப்பிடலாம் Application.ActiveCell மற்றும் அதன் மீது செயல்களைச் செய்யுங்கள்.
- VBA இல் உள்ள பயன்பாட்டு பொருள் என்ன?
- தி Application ஆப்ஜெக்ட் முழு எக்செல் பயன்பாட்டையும் குறிக்கிறது, எக்செல் சூழல் மற்றும் அமைப்புகளை நீங்கள் கட்டுப்படுத்த அனுமதிக்கிறது.
- .Select ஐப் பயன்படுத்தாமல் ஒரு வரம்பிலிருந்து மற்றொரு வரம்பிற்கு மதிப்புகளை நகலெடுப்பது எப்படி?
- இலக்கு வரம்பிற்கு மூல வரம்பின் மதிப்பை நேரடியாக ஒதுக்கவும், எ.கா. targetRange.Value = sourceRange.Value.
- VBA இல் சிறந்த நடைமுறையாகக் கருதப்படும் .தேர்வு ஏன் தவிர்க்கப்படுகிறது?
- தவிர்த்தல் .Select தூய்மையான, வேகமான மற்றும் அதிக நம்பகமான குறியீட்டை உருவாக்குகிறது, இது பிழைத்திருத்தம் மற்றும் பராமரிப்பை எளிதாக்குகிறது.
- வரம்புகளை அணுகுவதற்கு .தேர்ந்தெடு என்பதற்கு பொதுவான மாற்று என்ன?
- வரம்புகளுக்கான குறிப்புகளைச் சேமிக்க மாறிகளைப் பயன்படுத்தவும் மற்றும் அவற்றை நேரடியாகக் கையாளவும், பயன்படுத்த வேண்டிய தேவையைத் தவிர்க்கவும் .Select.
தேர்வு செய்வதைத் தவிர்ப்பதன் மூலம் Excel VBA குறியீட்டை மேம்படுத்துதல்
முதல் ஸ்கிரிப்ட் பயன்படுத்துவதை எவ்வாறு தவிர்ப்பது என்பதை விளக்குகிறது .Select எக்செல் விபிஏவில் குறிப்பிட்ட பொருட்களைக் குறிப்பிட மாறிகளைப் பயன்படுத்துவதன் மூலம் முறை. இந்த எடுத்துக்காட்டில், ஐப் பயன்படுத்தி மாறிகளை அறிவிப்பதன் மூலம் தொடங்குகிறோம் Dim ஒரு பணித்தாளை வரையறுப்பதற்கான அறிக்கை (ws), ஒரு வரம்பு (rng), மற்றும் அந்த வரம்பிற்குள் உள்ள தனிப்பட்ட செல்கள் (cell) இந்த மாறிகளை அமைப்பதன் மூலம் Set கட்டளை, குறிப்பிட்ட வரம்பை தேர்ந்தெடுக்காமல் நேரடியாக கையாளலாம். ஸ்கிரிப்ட் வரம்பில் உள்ள ஒவ்வொரு கலத்தின் வழியாகவும் சுழல்கிறது For Each...Next லூப், ஒவ்வொரு கலத்தின் மதிப்பையும் இரட்டிப்பாக்குகிறது. இந்த அணுகுமுறை குறியீட்டின் மறுபயன்பாடு மற்றும் செயல்திறனை மேம்படுத்துகிறது, ஏனெனில் இது தேவையற்ற தேர்வுகளை நீக்குகிறது மற்றும் நேரடி செல் கையாளுதலில் கவனம் செலுத்துகிறது.
இரண்டாவது ஸ்கிரிப்ட் இதேபோன்ற கருத்தைக் காட்டுகிறது, ஆனால் மதிப்புகளைப் பயன்படுத்தாமல் ஒரு வரம்பிலிருந்து மற்றொரு வரம்பிற்கு நகலெடுப்பதில் கவனம் செலுத்துகிறது .Select முறை. நாங்கள் மீண்டும் பயன்படுத்துகிறோம் Dim இலக்கு பணித்தாளின் மாறிகளை அறிவிக்க அறிக்கை (targetSheet), மூல வரம்பு (sourceRange), மற்றும் இலக்கு வரம்பு (targetRange) உடன் இந்த மாறிகளை அமைத்த பிறகு Set கட்டளை, ஸ்கிரிப்ட் மதிப்புகளை நகலெடுக்கிறது sourceRange செய்ய targetRange இலக்கு வரம்பின் மதிப்பு சொத்தை மூல வரம்பிற்கு நேரடியாக ஒதுக்குவதன் மூலம். இந்த முறை குறியீடு சுத்தமாகவும் திறமையாகவும் இருப்பதை உறுதிசெய்கிறது, இது பயன்படுத்துவதில் உள்ள சிக்கல்களைத் தவிர்க்கிறது .Select மற்றும் VBA ஸ்கிரிப்ட்டின் ஒட்டுமொத்த செயல்திறனை மேம்படுத்துகிறது.
மூடுதல்: VBA செயல்திறனை மேம்படுத்துதல்
பயன்படுத்துவதை நீக்குதல் .Select Excel VBA இல் உங்கள் குறியீட்டின் வாசிப்புத்திறன், செயல்திறன் மற்றும் பராமரிக்கக்கூடிய தன்மையை கணிசமாக மேம்படுத்த முடியும். மாறிகளைப் பயன்படுத்துவதன் மூலம், தி With அறிக்கை, மற்றும் Application பொருள், நீங்கள் தேவையற்ற படிகள் இல்லாமல் வரம்புகள் மற்றும் கலங்களில் நேரடியாக செயல்பாடுகளைச் செய்யலாம். இந்த நுட்பங்கள் உங்கள் ஸ்கிரிப்ட்களை மிகவும் உறுதியானதாகவும் பிழைத்திருத்தத்தை எளிதாக்கவும் செய்கிறது, இது Excel VBA இல் மிகவும் நெறிப்படுத்தப்பட்ட குறியீட்டு அனுபவத்திற்கு வழிவகுக்கும்.