د میز په شیټونو ویشل

مایکروسافټ اکسل د څو میزونو څخه د معلوماتو راټولولو لپاره ډیری وسیلې لري (د بیلابیلو شیټونو یا مختلف فایلونو څخه): مستقیم لینکونه، فعالیت پیژندنه (په نښه کول)، د بریښنا پوښتنې او پاور پیوټ اضافه کول ، او داسې نور د باریکډ له دې اړخ څخه ، هرڅه ښه ښکاري.

مګر که تاسو د یوې برعکس ستونزې سره مخ شئ - د یو میز څخه مختلف شیټونو ته د معلوماتو خپرول - نو هرڅه به ډیر غمجن وي. دا مهال، له بده مرغه، د Excel په ارسنال کې د دې ډول معلوماتو جلا کولو لپاره هیڅ متمدن جوړ شوي وسایل شتون نلري. نو تاسو باید په Visual Basic کې میکرو وکاروئ، یا د مایکرو ریکارډر + پاور پوښتنې ترکیب وکاروئ وروسته د لږ "فایل اصالح" سره.

راځئ چې نږدې وګورو چې دا څنګه پلي کیدی شي.

د ستونزې جوړښت

موږ د لومړنیو معلوماتو په توګه داسې جدول لرو چې د پلور لپاره له 5000 څخه ډیر قطارونو اندازه لري:

د میز په شیټونو ویشل

دنده: د دې کتاب په جلا پاڼو کې د ښار لخوا د دې جدول څخه د معلوماتو ویش. هغوی. په محصول کې، تاسو اړتیا لرئ چې په هره پاڼه کې یوازې هغه قطارونه د میز څخه ترلاسه کړئ چیرې چې پلور په اړوند ښار کې و:

د میز په شیټونو ویشل

چمتو کول

د دې لپاره چې میکرو کوډ پیچلي نه کړئ او د امکان تر حده د پوهیدو لپاره یې اسانه کړئ ، راځئ چې یو څو چمتووالي مرحلې ترسره کړو.

لومړی، یو جلا لید میز جوړ کړئ، چیرې چې یو واحد کالم به ټول هغه ښارونه لیست کړي چې تاسو غواړئ جلا شیټونه جوړ کړئ. البته، دا ډایرکټر ممکن د سرچینې ډاټا کې موجود ټول ښارونه ونه لري، مګر یوازې هغه چې موږ یې راپورونو ته اړتیا لرو. د داسې میز جوړولو لپاره ترټولو اسانه لار د کمانډ کارول دي ډاټا - نقلونه لرې کړئ (ډاټا - نقلونه لرې کړئ) د کالم کاپي لپاره احساسات یا فعالیت UNIK (بې ساري) - که تاسو د Excel 365 وروستۍ نسخه لرئ.

څرنګه چې په Excel کې نوي شیټونه د اوسني (مخکیني) څخه دمخه (کیڼ اړخ ته) د ډیفالټ لخوا رامینځته شوي ، نو دا هم معنی لري چې پدې لارښود کې ښارونه په نزولي ترتیب (له Z څخه تر A) کې ترتیب کړئ - بیا وروسته له جوړیدو وروسته ، ښار پاڼې به په الفبا سره تنظیم شي.

دوهم ، د пدواړه جدولونه متحرک ته واړوئ ("سمارټ") ترڅو د دوی سره کار کول اسانه کړي. موږ کمانډ کاروو کور - د میز په توګه بڼه (کور – د جدول په بڼه) یا د کیبورډ شارټ کټ Ctrl+T. په هغه ټب کې چې ښکاري جوړونکی (ډیزاین) راځئ چې دوی ته زنګ ووهو tablProdaji и د میز ښارپه ترتیب سره:

د میز په شیټونو ویشل

طریقه 1. میکرو د شیټونو په واسطه د ویشلو لپاره

په پرمختللي ټب کې د پراختیا (پراختیا) په تڼۍ کلیک وکړئ شارپ یا د کیبورډ شارټ کټ وکاروئ alt+F11. د میکرو مدیر کړکۍ کې چې خلاصیږي، د مینو له لارې یو نوی خالي ماډل داخل کړئ داخل کړئ - ماډل او هلته لاندې کوډ کاپي کړئ:

فرعي سپلیټر() د هرې حجرې لپاره په رینج کې ("таблГорода") رینج ("таблПродажи").د آټو فلټر ساحه:=3، معیار1:= سیل. د ارزښت رینج ("таблПродажи[#All]").ځانګړي سیلونه(xlisibleCellTy). پاڼه	  

دلته د لوپ سره د هر ... بل لپاره د لارښود حجرو له لارې تیریدل پلي کړل د میز ښار، چیرې چې دا د هر ښار لپاره فلټر کیږي (طریقه اتومات فلټر) د پلور په اصلي جدول کې او بیا نوې جوړې شوې پاڼې ته پایلې کاپي کول. د لارې په اوږدو کې، جوړه شوې پاڼه د ښار په ورته نوم بدله شوې او د ښکلا لپاره د کالمونو پلنوالی په اتوماتيک ډول فعال شوی.

تاسو کولی شئ په ټب کې په Excel کې رامینځته شوی میکرو چل کړئ د پراختیا تڼی میکروس (پراختیا کونکي - میکروس) یا د کیبورډ شارټ کټ alt+F8.

میتود 2. د بریښنا پوښتنې کې ډیری پوښتنې رامینځته کړئ

پخوانۍ طریقه، د دې ټول جوړښت او سادگي لپاره، د پام وړ نیمګړتیا لري - د میکرو لخوا رامینځته شوي پاڼې نوي نه کیږي کله چې د اصلي پلور جدول کې بدلونونه رامینځته کیږي. که په الوتنه کې تازه کول اړین وي، نو تاسو باید د VBA + پاور پوښتنې بنډل وکاروئ، یا بلکه، د میکرو په کارولو سره جوړ کړئ نه یوازې د جامد ډیټا سره پاڼې، بلکې د بریښنا پوښتنې پوښتنې تازه شوي.

په دې قضیه کې میکرو یو څه برخه د تیر سره ورته ده (دا یو دوره هم لري د هر ... بل لپاره په ډایرکټر کې د ښارونو په اوږدو کې تکرار کول)، مګر د لوپ دننه به نور فلټر کول او کاپي کول نه وي، مګر د بریښنا پوښتنې پوښتنې رامینځته کول او د هغې پایلې نوي پاڼې ته پورته کول:

Sub Splitter2() په سلسله کې د هرې حجرې لپاره ("د ښار جدول") ActiveWorkbook.Queries.Add Name:=cell.value, Formula:= _ "اجازه ورکړئ" & Chr(13) & "" & Chr(10) &" سرچینه = Excel.CurrentWorkbook(){[Name=""TableSales""][منځپانګه]," & Chr(13) & "" & Chr(10) & "#""بدل شوی ډول"" = Table. TransformColumnTypes(سرچینه , {{""کټګورۍ"، د متن ډول}، {""نوم"، ډول متن}، {""ښار"، ډول متن}، {""مدیر"، ډول متن}، {""معامله نیټه ""، د نیټې وخت ډول}، {""لګښت"، ډول نمبر}})،" او Chr(13) او "" & Chr(10) او "#""قطارونه د فلټر سره پلي شوي"" = جدول وګورئ "& _ "lectRows(#""بدل شوی ډول""، هر یو ([ښار] = """ او سیل. ارزښت او """))" او Chr(13) او "" او Chr(10) او "په " & Chr(13) & "" & Chr(10) & " #""قطارونه د فلټر پلي کولو سره برابرونکی =Microsoft.Mashup.OleDb.0;د معلوماتو سرچینه=$Workbook$;Location=" & cell.Value & ";Extended Properties=""""" _ , منزل:=Range("$A$1")). د پوښتنې جدول . CommandType = xlCmd Sql . CommandText = Array("SELECT *FROM [" & cell.Value & "]") .RowNumbers = False .FillAdjacentFormulas = غلط .PreserveFormatting = ریښتیا .RefreshOnFileOpen = غلط .BackgroundQuery = ریښتیا .RefreshStyle = xlPassertele = Cellassalseword. SaveData = ریښتیا .AdjustColumnWidth = ریښتیا .RefreshPeriod = 1 .PreserveColumnInfo = ریښتیا .ListObject.DisplayName = cell.Value .Refresh BackgroundQuery:=False End with ActiveSheet.Name=cell.Name=cell.  

د دې د پیل کولو وروسته، موږ به ورته شیټونه د ښار په واسطه وګورو، مګر مخکې له مخکې جوړ شوي د بریښنا پوښتنې پوښتنې به دوی جوړ کړي:

د میز په شیټونو ویشل

د سرچینې ډاټا کې د هر ډول بدلونونو سره، دا به کافي وي چې اړونده میز د ښي موږک تڼۍ سره تازه کړئ - کمانډ تازه کول او خوندي کول (تازه کول) یا د تڼۍ په کارولو سره په یوځل کې ټول ښارونه تازه کړئ ټول اوسمهال کړه ټوپ د معلوماتو د (ډاټا - ټول تازه کړئ).

  • میکرو څه شی دی، څنګه یې جوړول او کارول
  • د کاري کتاب پاڼې د جلا فایلونو په توګه خوندي کول
  • د کتاب د ټولو پاڼو څخه په یوه میز کې د معلوماتو راټولول

یو ځواب ورکړئ ووځي