ஒரே உரையுடன் கலங்களை முன்னிலைப்படுத்த எக்செல் குறியீட்டை எவ்வாறு சரிசெய்வது
எக்செல் உடன் பணிபுரிவது சில நேரங்களில் வெறுப்பாக இருக்கலாம், குறிப்பாக நீங்கள் தனிப்பயன் VBA குறியீட்டை உருவாக்க முயற்சிக்கும்போது, அது எதிர்பார்த்தபடி வேலை செய்யாது. ஒரு குறிப்பிட்ட கலத்தில் கிளிக் செய்வதன் மூலம் ஒரு நெடுவரிசையில் பொருந்தக்கூடிய கலங்களை முன்னிலைப்படுத்துவது ஒரு பொதுவான பணியாகும். இருப்பினும், குறியீடு தர்க்கத்தில் ஏற்படும் பிழைகள் எதிர்பாராத நடத்தைக்கு வழிவகுக்கும், இதனால் பயனர்கள் குழப்பமடைகின்றனர்.
இந்த வழக்கில், நீங்கள் ஒரு இலக்கு கலத்தை கிளிக் செய்யும் போது ஒரே உரையுடன் அனைத்து கலங்களையும் முன்னிலைப்படுத்தும் VBA மேக்ரோவை எழுத முயற்சிக்கலாம். பெரிய தரவுத்தொகுப்புகளைக் கையாளும் போது அல்லது உங்கள் எக்செல் பணித்தாளில் மீண்டும் மீண்டும் வரும் மதிப்புகளை விரைவாகக் கண்டறிய விரும்பும் போது இந்த அணுகுமுறை பயனுள்ளதாக இருக்கும். ஆனால் குறியீடு சரியாக கட்டமைக்கப்படவில்லை என்றால், பிழைகள் ஏற்படலாம்.
வழங்கப்பட்ட எடுத்துக்காட்டில், குறியீடு தரவுகளின் நெடுவரிசையின் மூலம் மீண்டும் செயல்படுத்த முயற்சிக்கிறது மற்றும் பொருத்தமான உரையைக் கொண்ட கலங்களை முன்னிலைப்படுத்துகிறது. துரதிர்ஷ்டவசமாக, லூப் எழுதப்பட்ட விதத்தில் அல்லது நிபந்தனைகள் சரிபார்க்கப்படுவதில் சிக்கல் இருப்பதாகத் தெரிகிறது. எக்செல் இல் VBA ஐப் பயன்படுத்தும் போது இந்த வகையான சிக்கல் பொதுவானது, மேலும் அதை சரிசெய்ய கவனமாக சரிசெய்தல் தேவைப்படுகிறது.
பின்வரும் விவாதத்தில், குறியீட்டு எடுத்துக்காட்டில் நடப்போம், என்ன தவறு நடக்கிறது என்பதைக் கண்டறிந்து, திருத்தப்பட்ட தீர்வை வழங்குவோம். தர்க்கம் மற்றும் தொடரியல் பிழைகளை நிவர்த்தி செய்வதன் மூலம், உங்கள் VBA மேக்ரோ திட்டமிட்டபடி செயல்படுவதை உறுதிசெய்யலாம்.
| கட்டளை | பயன்பாட்டின் உதாரணம் |
|---|---|
| Worksheet_SelectionChange | பணித்தாளில் தேர்வு மாறும்போது இந்த நிகழ்வு தூண்டப்படுகிறது. இது எக்செல் VBA க்குக் குறிப்பிட்டது மற்றும் செல் கிளிக்குகளைக் கண்காணிக்கப் பயன்படுகிறது, பயனர் ஒரு கலத்தைத் தேர்ந்தெடுக்கும்போது குறியீட்டை இயக்க உதவுகிறது. |
| Intersect | செல்களின் வரம்பு மற்றொரு வரம்புடன் வெட்டுகிறதா என்பதை இந்தச் செயல்பாடு சரிபார்க்கிறது. இந்தச் சூழலில், ஹைலைட்டிங் குறியீட்டை இயக்கும் முன் நெடுவரிசை N இல் உள்ள கலங்கள் மட்டுமே தேர்ந்தெடுக்கப்படுவதை உறுதிசெய்ய இது பயன்படுகிறது. |
| Interior.ColorIndex | Excel இல் கலத்தின் பின்னணி நிறத்தை மாற்ற அல்லது மீட்டமைக்க இந்தப் பண்பு பயன்படுத்தப்படுகிறது. ஸ்கிரிப்ட்களில், புதியவற்றைப் பயன்படுத்துவதற்கு முன்பு முந்தைய சிறப்பம்சங்களை அழிக்க இது பயன்படுத்தப்படுகிறது. |
| RGB | RGB செயல்பாடு சிவப்பு, பச்சை மற்றும் நீல கூறுகளைக் குறிப்பிடுவதன் மூலம் வண்ணங்களின் வரையறையை அனுமதிக்கிறது. பொருந்தும் கலங்களில் ஹைலைட் நிறத்தை அமைப்பதற்கு இது முக்கியமானது. |
| DoEvents | இந்த கட்டளை VBA குறியீடு இயங்கும் போது மற்ற செயல்முறைகளை இயக்க அனுமதிக்கிறது. மீண்டும் செயல்படும் சுழல்களில், நீண்ட கால செயல்பாடுகளின் போது பயனர் செயல்களுக்கு எக்செல் தொடர்ந்து பதிலளிக்கும் வகையில் DoEvents உதவுகிறது. |
| On Error GoTo | இது VBA இல் உள்ள அடிப்படை பிழை கையாளுதல் கட்டளையாகும், இது ஒரு பிழை ஏற்பட்டால் ஒரு குறிப்பிட்ட பிழை-கையாளுதல் வழக்கத்திற்கு குறியீட்டை திருப்பிவிடும். செயல்பாட்டின் போது ஸ்கிரிப்ட் செயலிழப்பதைத் தடுக்க இது உதவுகிறது. |
| Range | ரேஞ்ச் ஆப்ஜெக்ட் என்பது எக்செல் தாளில் உள்ள குறிப்பிட்ட அளவிலான செல்களைக் குறிக்கிறது. இந்த எடுத்துக்காட்டுகளில், பொருந்தக்கூடிய உரைக்காக தேடப்படும் நெடுவரிசை அல்லது வரிசையை வரையறுக்க இது பயன்படுகிறது. |
| For Each...Next | கொடுக்கப்பட்ட வரம்பில் உள்ள ஒவ்வொரு கலத்தின் மீதும் இந்த லூப் அமைப்பு செயல்படுகிறது. இந்த வழக்கில், தேர்ந்தெடுக்கப்பட்ட உரையுடன் பொருந்துகிறதா என்பதைத் தீர்மானிக்க, ஒவ்வொரு கலத்தையும் குறிப்பிட்ட வரம்பில் சரிபார்க்கிறது. |
| MsgBox | எக்செல் இல் ஒரு செய்தி பெட்டியைக் காட்டுகிறது. இரண்டாவது தீர்வில், ஸ்கிரிப்டில் ஏதேனும் தவறு நடந்தால், பயனருக்குத் தெரிவிக்க, பிழை கையாளும் வழக்கத்தில் இது பயன்படுத்தப்படுகிறது. |
பொருந்தக்கூடிய கலங்களை முன்னிலைப்படுத்த VBA ஸ்கிரிப்டைப் புரிந்துகொள்வது
மேலே கொடுக்கப்பட்டுள்ள எடுத்துக்காட்டுகளில், VBA ஸ்கிரிப்ட்டின் முக்கிய பணியானது, நீங்கள் கிளிக் செய்யும் கலத்தின் உரையுடன் பொருந்தக்கூடிய ஒரு குறிப்பிட்ட நெடுவரிசையில் உள்ள அனைத்து கலங்களையும் முன்னிலைப்படுத்துவதாகும். குறியீடானது தி ஒரு கலம் எப்போது தேர்ந்தெடுக்கப்பட்டது என்பதைக் கண்டறியும் நிகழ்வு, பின்னர் பொருத்தமான உள்ளடக்கத்தைக் கண்டறிய கலங்களின் வரம்பைத் தேடுகிறது. தொடர்புடைய கலங்களை முன்னிலைப்படுத்த, வடிவமைப்பை (பின்னணி வண்ணம்) மாறும் வகையில் பயன்படுத்துவதே குறிக்கோள். பெரிய தரவுத்தொகுப்புகளுடன் பணிபுரியும் போது இந்த அணுகுமுறை மிகவும் பயனுள்ளதாக இருக்கும், அங்கு நகல் அல்லது தொடர்புடைய மதிப்புகளை பார்வைக்கு அடையாளம் காண்பது சிரமமாக இருக்கும்.
ஸ்கிரிப்ட்டில் பயன்படுத்தப்படும் முக்கிய கட்டளைகளில் ஒன்று , குறிப்பிட்ட நெடுவரிசையில் (இந்த வழக்கில், நெடுவரிசை N) ஒரு கலம் தேர்ந்தெடுக்கப்பட்டால் மட்டுமே மேக்ரோ இயங்கும் என்பதை இது உறுதி செய்கிறது. இது தாளின் மற்ற பகுதிகளை கிளிக் செய்யும் போது மேக்ரோ தேவையில்லாமல் தூண்டப்படுவதை தடுக்கிறது. தொடர்புடைய கலம் தேர்ந்தெடுக்கப்பட்டதை உறுதிசெய்த பிறகு, குறியீட்டைப் பயன்படுத்தி முன்பு பயன்படுத்தப்பட்ட சிறப்பம்சங்களை அழிக்கிறது சொத்து, முந்தைய செயல்பாடுகளிலிருந்து பயன்படுத்தப்பட்ட எந்த பின்னணி நிறத்தையும் நீக்குகிறது. புதிய பொருந்தக்கூடிய கலங்கள் சிறப்பிக்கப்படுவதற்கு முன்பு வடிவமைப்பு மீட்டமைக்கப்படுவதை இது உறுதி செய்கிறது.
தேர்வு சரிபார்க்கப்பட்டதும், குறிப்பிட்ட வரம்பில் (I2:I8) ஒவ்வொரு கலத்தையும் சரிபார்க்க ஸ்கிரிப்ட் ஒரு லூப்பைப் பயன்படுத்துகிறது. தி இந்த வரம்பில் உள்ள ஒவ்வொரு கலத்தின் வழியாகவும் லூப் மீண்டும் செயல்படுகிறது, அதன் மதிப்பு தேர்ந்தெடுக்கப்பட்ட கலத்தின் உள்ளடக்கத்துடன் பொருந்துகிறதா என்பதைச் சரிபார்க்கிறது. பொருத்தம் கண்டறியப்பட்டால், ஸ்கிரிப்ட் மஞ்சள் நிற ஹைலைட்டைப் பயன்படுத்துகிறது செயல்பாடு, இது சிவப்பு, பச்சை மற்றும் நீல கூறுகளை வரையறுப்பதன் மூலம் வண்ணங்களின் துல்லியமான விவரக்குறிப்பை அனுமதிக்கிறது. தேவைப்பட்டால், ஹைலைட் நிறத்தைத் தனிப்பயனாக்குவதை இது எளிதாக்குகிறது.
ஸ்கிரிப்ட்டின் மேம்படுத்தப்பட்ட பதிப்புகளில் ஒன்றில், பிழை கையாளுதல் உடன் இணைக்கப்பட்டுள்ளது கட்டளை. வெற்று கலத்தைத் தேர்ந்தெடுப்பது அல்லது உரை அல்லாத மதிப்பை எதிர்கொள்வது போன்ற எதிர்பாராத சிக்கல்களை தரவு அல்லது தேர்வு ஏற்படுத்தக்கூடிய சூழ்நிலைகளுக்கு இது மிகவும் பயனுள்ளதாக இருக்கும். பிழை கையாளுதலைப் பயன்படுத்துவதன் மூலம், முழு மேக்ரோவையும் செயலிழக்கச் செய்வதை விட, ஸ்கிரிப்ட் ஒரு செய்தி பெட்டியுடன் பயனரை அழகாக எச்சரிக்க முடியும். இந்த வழியில், ஸ்கிரிப்ட் செயல்பாட்டுடன் மட்டுமல்லாமல் வலுவானதாகவும் உள்ளது, இது நல்ல செயல்திறனைப் பராமரிக்கும் அதே வேளையில் எட்ஜ் கேஸ்களை திறம்பட கையாள்வதை உறுதி செய்கிறது.
தீர்வு 1: Excel VBA ஐப் பயன்படுத்தி தேர்ந்தெடுக்கப்பட்டதன் அடிப்படையில் பொருந்தக்கூடிய கலங்களை முன்னிலைப்படுத்தவும்
இந்த அணுகுமுறை எக்செல் இல் செல் தேர்வு நிகழ்வுகளைக் கையாள VBA (பயன்பாடுகளுக்கான விஷுவல் பேசிக்) ஐப் பயன்படுத்துகிறது மற்றும் தேர்ந்தெடுக்கப்பட்ட கலத்தின் உள்ளடக்கத்துடன் பொருந்தக்கூடிய குறிப்பிட்ட வரம்பில் உள்ள அனைத்து கலங்களையும் முன்னிலைப்படுத்துகிறது.
Private Sub Worksheet_SelectionChange(ByVal Target As Range)Dim ws As WorksheetSet ws = ThisWorkbook.Sheets("Sheet1")Dim cell As RangeDim matchText As Stringws.Cells.Interior.ColorIndex = xlNone ' Clear previous highlightsIf Target.Column = 14 Then ' If column N is selectedmatchText = Target.ValueFor Each cell In ws.Range("I2:I8") ' Define the search rangeIf cell.Value = matchText Thencell.Interior.Color = RGB(255, 255, 0) ' Highlight matching cellEnd IfNext cellEnd IfEnd Sub
தீர்வு 2: பிழை கையாளுதல் மற்றும் உள்ளீடு சரிபார்ப்புடன் மேம்படுத்தப்பட்ட VBA அணுகுமுறை
சிறந்த செயல்திறன் மற்றும் நம்பகத்தன்மைக்கு, குறிப்பாக பெரிய தரவுத்தொகுப்புகளுடன் பணிபுரியும் போது, பிழை கையாளுதல் மற்றும் உள்ளீடு சரிபார்ப்பு போன்ற உகந்த முறைகளை இந்தப் பதிப்பில் கொண்டுள்ளது.
Private Sub Worksheet_SelectionChange(ByVal Target As Range)On Error GoTo ErrorHandlerDim ws As WorksheetSet ws = ThisWorkbook.Sheets("Sheet1")Dim cell As Range, matchText As StringIf Not Intersect(Target, ws.Columns("N")) Is Nothing Thenws.Cells.Interior.ColorIndex = xlNonematchText = Target.ValueIf matchText <> "" ThenFor Each cell In ws.Range("I2:I8")If cell.Value = matchText Thencell.Interior.Color = RGB(255, 255, 0)End IfNext cellEnd IfEnd IfExit SubErrorHandler:MsgBox "An error occurred: " & Err.DescriptionEnd Sub
தீர்வு 3: மறுபயன்பாட்டிற்கான செயல்பாடு பிரித்தெடுப்புடன் கூடிய மாடுலர் VBA குறியீடு
இந்த அணுகுமுறை குறியீட்டை மீண்டும் பயன்படுத்தக்கூடிய செயல்பாடுகளாக உடைத்து, தனிப்பட்ட கூறுகளை பராமரிப்பதையும் சோதிப்பதையும் எளிதாக்குகிறது. அளவிடக்கூடிய தீர்வுகளுக்கு இது சிறந்தது.
Private Sub Worksheet_SelectionChange(ByVal Target As Range)If Target.Column = 14 ThenClearHighlightsHighlightMatches Target.ValueEnd IfEnd SubPrivate Sub ClearHighlights()ThisWorkbook.Sheets("Sheet1").Cells.Interior.ColorIndex = xlNoneEnd SubPrivate Sub HighlightMatches(ByVal matchText As String)Dim cell As RangeFor Each cell In ThisWorkbook.Sheets("Sheet1").Range("I2:I8")If cell.Value = matchText Thencell.Interior.Color = RGB(255, 255, 0)End IfNext cellEnd Sub
எக்செல் இல் VBA பிழை கையாளுதல் மற்றும் மேம்படுத்துதல் ஆகியவற்றை ஆராய்தல்
VBA மேக்ரோக்களை எழுதும் போது மற்றொரு முக்கிய அம்சம், குறிப்பாக எக்செல் இல், சரியான பிழை கையாளுதல் மற்றும் செயல்திறன் மேம்படுத்தல் ஆகியவற்றை செயல்படுத்துகிறது. இவை இல்லாமல், உங்கள் மேக்ரோ எதிர்பாராத விதமாக தோல்வியடையும் அல்லது திறமையற்ற முறையில் இயங்கலாம், குறிப்பாக பெரிய தரவுத்தொகுப்புகள் அல்லது சிக்கலான செயல்பாடுகளைக் கையாளும் போது. Excel VBA இல், தி அறிக்கை ஒரு முக்கிய பங்கு வகிக்கிறது. உங்கள் மேக்ரோவை செயலிழக்கச் செய்யும் பிழைகளைப் பிடிக்கவும் அவற்றை அழகாக நிர்வகிக்கவும் இது உங்களை அனுமதிக்கிறது. இது வலுவான நிரலாக்கத்திற்கு அவசியம், குறிப்பாக எதிர்பாராத தரவு அல்லது பயனர் உள்ளீடுகளை உள்ளடக்கிய பணிகளை தானியங்குபடுத்தும் போது.
பிழை கையாளுதலுடன் கூடுதலாக, சுழல்கள் மற்றும் வரம்பு குறிப்புகளை மேம்படுத்துவது மற்றொரு முக்கியமான காரணியாகும். Excel VBA இல், லூப்களின் முறையற்ற கையாளுதல் குறிப்பிடத்தக்க செயல்திறன் சிக்கல்களுக்கு வழிவகுக்கும், குறிப்பாக பெரிய தரவுத்தொகுப்புகளுடன் பணிபுரியும் போது. போன்ற திறமையான கட்டளைகளின் பயன்பாடு செல்கள் வரம்பில் சுழற்றுவது செயலாக்கத்தை விரைவுபடுத்தும். சூத்திரங்களை மீண்டும் கணக்கிடுதல் அல்லது தேவையில்லாமல் திரையைப் புதுப்பித்தல் போன்ற தொடர்ச்சியான செயல்களைக் குறைப்பதும் முக்கியம். பயன்படுத்தி எடுத்துக்காட்டாக, கட்டளை, அனைத்து செயல்பாடுகளும் முடியும் வரை எக்செல் திரையைப் புதுப்பிப்பதைத் தடுக்கிறது, இது மென்மையான மேக்ரோ செயல்பாட்டிற்கு வழிவகுக்கும்.
மேலும், வரம்புகளைக் குறிப்பிடுவது உங்கள் மேக்ரோவை அளவிடக்கூடியதாக மாற்ற உதவுகிறது. ஹார்ட்கோடிங் செல் குறிப்புகளுக்குப் பதிலாக, நீங்கள் VBA செயல்பாடுகளைப் பயன்படுத்தலாம் அல்லது உங்கள் தரவின் அளவை அடிப்படையாகக் கொண்டு சரிசெய்ய. ஒர்க்ஷீட்டின் கட்டமைப்பில் எந்த மாற்றமும் இல்லாமல் உங்கள் குறியீடு நன்றாக வேலை செய்வதை இந்த ஏற்புத்திறன் உறுதி செய்கிறது. இந்த நடைமுறைகள் இணைந்து ஒரு VBA மேக்ரோவில் விளைகின்றன, இது செயல்பாட்டுக்கு மட்டுமின்றி சிறந்த செயல்திறன் மற்றும் நம்பகத்தன்மைக்கு உகந்ததாக உள்ளது.
- என்ன செய்கிறது நிகழ்வு செய்யவா?
- தி பயனர் வேறு செல் அல்லது வரம்பைத் தேர்ந்தெடுக்கும் போதெல்லாம் நிகழ்வு மேக்ரோவைத் தூண்டுகிறது. பணித்தாள் மூலம் பயனர் தொடர்புகளின் அடிப்படையில் செயல்களை தானியக்கமாக்க இது உங்களை அனுமதிக்கிறது.
- எப்படி செய்கிறது மேக்ரோ செயல்திறனை மேம்படுத்தவா?
- தி தேர்ந்தெடுக்கப்பட்ட வரம்பு உங்கள் பணித்தாளின் குறிப்பிட்ட பகுதியுடன் மேலெழுதுகிறதா என்பதை செயல்பாடு சரிபார்க்கிறது. இது ஒரு குறிப்பிட்ட நெடுவரிசை அல்லது வரிசைக்கு இலக்கு செயல்களுக்கு உதவுகிறது, தேவைப்படும் போது மட்டுமே மேக்ரோவை இயக்குவதன் மூலம் செயல்திறனை மேம்படுத்துகிறது.
- ஏன் உள்ளது சுழல்களில் பயனுள்ளதா?
- தி உங்கள் மேக்ரோ இயங்கும் போது எக்செல் மற்ற நிகழ்வுகளைச் செயலாக்க அனுமதிக்கிறது, நீண்ட செயல்பாடுகளின் போது பயன்பாட்டைப் பதிலளிக்கும். இது குறிப்பாக லூப்களில் உதவியாக இருக்கும்.
- இதன் நோக்கம் என்ன அறிக்கை?
- தி அறிக்கை உங்கள் மேக்ரோவில் ஏற்படும் பிழைகளைக் கையாள உங்களை அனுமதிக்கிறது. செயலிழப்பதற்குப் பதிலாக, மேக்ரோ தனிப்பயன் பிழை செய்தியைக் காட்டலாம் அல்லது பிழையை வேறு வழியில் கையாளலாம்.
- எனது மேக்ரோவை எவ்வாறு வேகப்படுத்துவது ?
- அமைப்பதன் மூலம் , உங்கள் மேக்ரோவின் செயல்பாட்டின் போது எக்செல் திரையைப் புதுப்பிப்பதைத் தடுக்கலாம், செயல்திறனை கணிசமாக மேம்படுத்தலாம்.
எக்செல் VBA உடன் பணிபுரியும் போது, பிழைகளைக் கையாளுதல் மற்றும் உங்கள் குறியீட்டை மேம்படுத்துதல் ஆகியவை சீரான செயல்திறனை உறுதி செய்ய அவசியம். சரியான லூப்களை செயல்படுத்துதல் மற்றும் திரை புதுப்பிப்புகளை கட்டுப்படுத்துதல் ஆகியவை பயனர் அனுபவத்தை பெரிதும் மேம்படுத்தலாம், குறிப்பாக பெரிய தரவுத்தொகுப்புகளுடன்.
இங்கே கோடிட்டுக் காட்டப்பட்டுள்ள சிறந்த நடைமுறைகளைப் பின்பற்றுவதன் மூலம், உங்கள் மேக்ரோ பொருந்தக்கூடிய கலங்களைத் திறம்பட முன்னிலைப்படுத்துவது மட்டுமல்லாமல், எதிர்பாராத சூழ்நிலைகளையும் அழகாகக் கையாளுகிறது என்பதை உறுதிப்படுத்திக் கொள்ளலாம். இது உங்கள் எக்செல்-அடிப்படையிலான ஆட்டோமேஷன் திட்டங்களை மிகவும் வலுவானதாகவும், பயனர்களுக்கு ஏற்றதாகவும் மாற்றும்.
- Excel VBA நிரலாக்கம் பற்றிய விரிவான வழிகாட்டுதல், குறிப்பாக நிகழ்வு கையாளுதல் மற்றும் பிழை மேலாண்மை ஆகியவற்றிலிருந்து பெறப்பட்டது. Microsoft Excel VBA ஆவணம் .
- எக்செல் விபிஏ மேக்ரோக்கள் தொடர்பான சமூகம் சார்ந்த எடுத்துக்காட்டுகள் மற்றும் தீர்வுகள் குறிப்பிடப்பட்டன ஸ்டாக் ஓவர்ஃப்ளோ , நிரலாக்கம் தொடர்பான சிக்கல்களைத் தீர்ப்பதற்கான பரவலாகப் பயன்படுத்தப்படும் தளம்.
- Excel VBA குறியீட்டை மேம்படுத்துவதற்கான சிறந்த நடைமுறைகளுக்கு, பரிந்துரைகள் பெறப்பட்டன எக்செல் வளாகம் - VBA பயிற்சிகள் , இது மேம்பட்ட எக்செல் ஆட்டோமேஷன் உதவிக்குறிப்புகளை வழங்குகிறது.