ஒரு அட்டவணையை தாள்களாகப் பிரித்தல்

மைக்ரோசாஃப்ட் எக்செல் பல அட்டவணைகளிலிருந்து (வெவ்வேறு தாள்களிலிருந்து அல்லது வெவ்வேறு கோப்புகளிலிருந்து) தரவைச் சேகரிப்பதற்கான பல கருவிகளைக் கொண்டுள்ளது: நேரடி இணைப்புகள், செயல்பாடு மறைமுக (உள்நோக்கம்), பவர் வினவல் மற்றும் பவர் பிவோட் ஆட்-ஆன்கள் போன்றவை. தடுப்பின் இந்தப் பக்கத்திலிருந்து எல்லாம் நன்றாகத் தெரிகிறது.

ஆனால் நீங்கள் ஒரு தலைகீழ் சிக்கலை எதிர்கொண்டால் - ஒரு அட்டவணையில் இருந்து வெவ்வேறு தாள்களுக்கு தரவைப் பரப்புதல் - எல்லாம் மிகவும் சோகமாக இருக்கும். இந்த நேரத்தில், எக்செல் ஆயுதக் களஞ்சியத்தில், துரதிர்ஷ்டவசமாக, அத்தகைய தரவைப் பிரிப்பதற்கான நாகரீகமான உள்ளமைக்கப்பட்ட கருவிகள் எதுவும் இல்லை. எனவே நீங்கள் விஷுவல் பேசிக்கில் மேக்ரோவைப் பயன்படுத்த வேண்டும் அல்லது மேக்ரோ ரெக்கார்டர் + பவர் வினவல் கலவையை சிறிது “கோப்பு சுத்திகரிப்பு” மூலம் பயன்படுத்த வேண்டும்.

இதை எவ்வாறு செயல்படுத்துவது என்பதை விரிவாகப் பார்ப்போம்.

சிக்கலை உருவாக்குதல்

விற்பனைக்கு 5000 வரிசைகளுக்கு மேல் உள்ள அத்தகைய அட்டவணையை ஆரம்பத் தரவுகளாகக் கொண்டுள்ளோம்:

ஒரு அட்டவணையை தாள்களாகப் பிரித்தல்

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

ஒரு அட்டவணையை தாள்களாகப் பிரித்தல்

தயார்

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

முதல், அந்த ஒரு தனி தேடல் அட்டவணையை உருவாக்கவும், நீங்கள் தனித்தனி தாள்களை உருவாக்க விரும்பும் அனைத்து நகரங்களையும் ஒரு நெடுவரிசை பட்டியலிடும். நிச்சயமாக, இந்த கோப்பகத்தில் மூலத் தரவில் உள்ள அனைத்து நகரங்களும் இல்லாமல் இருக்கலாம், ஆனால் எங்களுக்கு அறிக்கைகள் தேவைப்படும் நகரங்கள் மட்டுமே. அத்தகைய அட்டவணையை உருவாக்க எளிதான வழி கட்டளையைப் பயன்படுத்துவதாகும் தரவு - நகல்களை அகற்று (தரவு - நகல்களை அகற்று) நெடுவரிசை நகலுக்கு பெருநகரம் அல்லது செயல்பாடு UNIK (தனித்துவமான) - உங்களிடம் எக்செல் 365 இன் சமீபத்திய பதிப்பு இருந்தால்.

எக்செல் இல் உள்ள புதிய தாள்கள் தற்போதைய (முந்தைய) ஒன்றிற்கு முன் (இடதுபுறம்) முன்னிருப்பாக உருவாக்கப்படுவதால், இந்த கோப்பகத்தில் உள்ள நகரங்களை இறங்கு வரிசையில் (Z இலிருந்து A வரை) வரிசைப்படுத்துவதும் அர்த்தமுள்ளதாக இருக்கிறது - பின்னர் உருவாக்கிய பிறகு, நகரம் தாள்கள் அகர வரிசைப்படி அமைக்கப்படும்.

இரண்டாவது, தி пஇரண்டு அட்டவணைகளையும் டைனமிக் ஆக மாற்றவும் ("ஸ்மார்ட்") அவர்களுடன் வேலை செய்வதை எளிதாக்கும். நாங்கள் கட்டளையைப் பயன்படுத்துகிறோம் முகப்பு - அட்டவணையாக வடிவமைக்கவும் (முகப்பு - அட்டவணையாக வடிவமைக்கவும்) அல்லது விசைப்பலகை குறுக்குவழி ctrl+T. தோன்றும் தாவலில் கன்ஸ்ட்ரக்டர் (வடிவமைப்பு) அவர்களை அழைப்போம் டேபிள் ப்ரோடாஜி и டேபிள்சிட்டி, முறையே:

ஒரு அட்டவணையை தாள்களாகப் பிரித்தல்

முறை 1. தாள்களால் பிரிப்பதற்கான மேக்ரோ

மேம்பட்ட தாவலில் மேம்பாட்டாளர் (டெவலப்பர்) பொத்தானை கிளிக் செய்யவும் விஷுவல் பேசிக் அல்லது விசைப்பலகை குறுக்குவழியைப் பயன்படுத்தவும் alt+F11. திறக்கும் மேக்ரோ எடிட்டர் சாளரத்தில், மெனு மூலம் புதிய வெற்று தொகுதியைச் செருகவும் செருகு - தொகுதி பின்வரும் குறியீட்டை அங்கு நகலெடுக்கவும்:

சப் ஸ்ப்ளிட்டர்() வரம்பில் உள்ள ஒவ்வொரு கலத்திற்கும்("டபிள்கோரோடா") வரம்பு("டபிள்ப்ரோடாஜி").ஆட்டோஃபில்டர் ஃபீல்ட்:=3, அளவுகோல்1:=செல்.மதிப்பு வரம்பு("தபிள்ப்ரோடாஜி[#விசேஷம்]"). Sheets.Add ActiveSheet.Paste ActiveSheet.Name = cell.Value ActiveSheet.UsedRange.Columns.AutoFit அடுத்த செல் ஒர்க்ஷீட்கள்("டான்னி").ShowAllData End Sub	  

இங்கே ஒரு வளையத்துடன் ஒவ்வொன்றிற்கும் ... அடுத்தது கோப்பகத்தின் செல்கள் வழியாக பத்தியை செயல்படுத்தியது டேபிள்சிட்டி, ஒவ்வொரு நகரத்திற்கும் அது வடிகட்டப்படுகிறது (முறை ஆட்டோ ஃபில்டர்) அசல் விற்பனை அட்டவணையில் மற்றும் முடிவுகளை புதிதாக உருவாக்கப்பட்ட தாளில் நகலெடுக்கிறது. வழியில், உருவாக்கப்பட்ட தாள் நகரத்தின் அதே பெயரில் மறுபெயரிடப்பட்டது மற்றும் அழகுக்காக நெடுவரிசைகளின் அகலத்தை தானாகப் பொருத்துவது இயக்கப்பட்டது.

தாவலில் எக்செல் இல் உருவாக்கப்பட்ட மேக்ரோவை இயக்கலாம் மேம்பாட்டாளர் பொத்தானை மேக்ரோஸ் (டெவலப்பர் - மேக்ரோஸ்) அல்லது விசைப்பலகை குறுக்குவழி alt+F8.

முறை 2. பவர் வினவலில் பல வினவல்களை உருவாக்கவும்

முந்தைய முறை, அதன் அனைத்து சுருக்கம் மற்றும் எளிமைக்கு, ஒரு குறிப்பிடத்தக்க குறைபாட்டைக் கொண்டுள்ளது - அசல் விற்பனை அட்டவணையில் மாற்றங்கள் செய்யப்படும்போது மேக்ரோவால் உருவாக்கப்பட்ட தாள்கள் புதுப்பிக்கப்படாது. பறக்கும்போது புதுப்பித்தல் அவசியமானால், நீங்கள் VBA + பவர் வினவல் தொகுப்பைப் பயன்படுத்த வேண்டும் அல்லது மாறாக, நிலையான தரவுகளைக் கொண்ட தாள்கள் மட்டுமல்ல, புதுப்பிக்கப்பட்ட பவர் வினவல் வினவல்களையும் பயன்படுத்தி மேக்ரோவை உருவாக்க வேண்டும்.

இந்த வழக்கில் உள்ள மேக்ரோ முந்தையதைப் போலவே ஓரளவு ஒத்திருக்கிறது (இது ஒரு சுழற்சியையும் கொண்டுள்ளது ஒவ்வொன்றிற்கும் ... அடுத்தது கோப்பகத்தில் உள்ள நகரங்களை மீண்டும் செய்யவும்), ஆனால் சுழற்சியின் உள்ளே இனி வடிகட்டுதல் மற்றும் நகலெடுப்பது இருக்காது, ஆனால் பவர் வினவல் வினவலை உருவாக்கி அதன் முடிவுகளை புதிய தாளில் பதிவேற்றுகிறது:

துணை பிரிப்பான்2() வரம்பில் உள்ள ஒவ்வொரு கலத்திற்கும்("சிட்டி டேபிள்") ActiveWorkbook.Queries.சேர் பெயர்:=செல்.மதிப்பு, சூத்திரம்:= _ "let" & Chr(13) & "" & Chr(10) & "மூலம் = Excel.CurrentWorkbook(){[Name=""TableSales""]}[Content]," & Chr(13) & "" & Chr(10) & " #""மாற்றப்பட்ட வகை"" = Table.TransformColumnTypes(ஆதாரம் , {{""வகை"", வகை உரை}, {""பெயர்"", வகை உரை}, {""நகரம்"", வகை உரை}, {""மேலாளர்"", உரை வகை}, {""ஒப்பந்தம் தேதி "", வகை தேதிநேரம்}, {""செலவு"", வகை எண்}})," & Chr(13) & "" & Chr(10) & " #""வடிப்பான் பயன்படுத்தப்பட்ட வரிசைகள்" = Table.Se " & _ "lectRows(#""மாற்றப்பட்ட வகை"", ஒவ்வொன்றும் ([City] = """ & cell.Value & """))" & Chr(13) & "" & Chr(10) & "in " & Chr(13) & "" & Chr(10) & " #""வடிவமைப்புடன் வரிசைகள் பயன்படுத்தப்பட்டன""" ActiveWorkbook.Worksheets.Add with ActiveSheet.ListObjects.Add(SourceType:=0, Source:= _ "OLEDB; வழங்குபவர் =Microsoft.Mashup.OleDb.1;தரவு மூலம்=$வொர்க்புக்$;இடம்=" & செல்.மதிப்பு & ";விரிவாக்கப்பட்ட பண்புகள்=""""" _ , இலக்கு:=வரம்பு("$A$1")). QueryTable .CommandType = xlCmd Sql .CommandText = வரிசை("தேர்வு *இலிருந்து [" & cell.Value & "]") .வரிசை எண்கள் = தவறு .FillAdjacentFormulas = தவறு SaveData = True .AdjustColumnWidth = True .RefreshPeriod = 0 .PreserveColumnInfo = True .ListObject.DisplayName = cell.Value  

அதன் துவக்கத்திற்குப் பிறகு, நகரத்தின் அடிப்படையில் அதே தாள்களைக் காண்போம், ஆனால் ஏற்கனவே உருவாக்கப்பட்ட பவர் வினவல்கள் அவற்றை உருவாக்கும்:

ஒரு அட்டவணையை தாள்களாகப் பிரித்தல்

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

  • மேக்ரோக்கள் என்றால் என்ன, அவற்றை எவ்வாறு உருவாக்குவது மற்றும் பயன்படுத்துவது
  • பணிப்புத்தக தாள்களை தனி கோப்புகளாக சேமிக்கிறது
  • புத்தகத்தின் அனைத்து தாள்களிலிருந்தும் ஒரு அட்டவணையில் தரவுகளை சேகரித்தல்

ஒரு பதில் விடவும்