ጠረጴዛን ወደ ሉሆች መከፋፈል

ማይክሮሶፍት ኤክሴል ከበርካታ ሠንጠረዦች (ከተለያዩ ሉሆች ወይም ከተለያዩ ፋይሎች) መረጃን ለመሰብሰብ ብዙ መሣሪያዎች አሉት-ቀጥታ ማገናኛዎች ፣ ተግባር ችግር (INNDIRECT), የኃይል መጠይቅ እና የኃይል ምሶሶ ማከያዎች, ወዘተ. ከዚህ የባርኬድ ጎን ሁሉም ነገር ጥሩ ይመስላል.

ነገር ግን የተገላቢጦሽ ችግር ካጋጠመዎት - መረጃን ከአንድ ጠረጴዛ ወደ ተለያዩ ሉሆች ማሰራጨት - ከዚያ ሁሉም ነገር በጣም አሳዛኝ ይሆናል. በአሁኑ ጊዜ፣ በሚያሳዝን ሁኔታ፣ በኤክሴል አርሴናል ውስጥ ለእንደዚህ አይነት መረጃ መለያየት ምንም አይነት የሰለጠነ አብሮ የተሰሩ መሳሪያዎች የሉም። ስለዚህ በ Visual Basic ውስጥ ማክሮን መጠቀም አለቦት፣ ወይም የማክሮ መቅጃ + የኃይል መጠይቅ ጥምርን ከትንሽ “ፋይል ማጣራት” በኋላ ይጠቀሙ።

ይህ እንዴት ተግባራዊ ሊሆን እንደሚችል ጠለቅ ብለን እንመርምር።

የችግሩ መፈጠር

ለሽያጭ ከ 5000 ረድፎች መጠን ያለው እንደዚህ ያለ የመጀመሪያ ውሂብ አለን

ጠረጴዛን ወደ ሉሆች መከፋፈል

ተግባር፡ ውሂቡን ከዚህ ሠንጠረዥ በከተማ ለማሰራጨት በተለየ የዚህ መጽሐፍ ሉሆች ላይ። እነዚያ። በውጤቱ ላይ በእያንዳንዱ ሉህ ላይ ሽያጩ በሚዛመደው ከተማ ውስጥ ከነበረበት ጠረጴዛ ላይ እነዚያን ረድፎች ብቻ ማግኘት ያስፈልግዎታል ።

ጠረጴዛን ወደ ሉሆች መከፋፈል

አዘጋጅ

የማክሮ ኮድን ላለማወሳሰብ እና በተቻለ መጠን ለመረዳት ቀላል ለማድረግ ሁለት የዝግጅት ደረጃዎችን እናድርግ።

በመጀመሪያ, መ የተለየ የመፈለጊያ ሰንጠረዥ ይፍጠሩ, አንድ ነጠላ አምድ የተለየ ሉሆችን መፍጠር የሚፈልጓቸውን ሁሉንም ከተሞች ይዘረዝራል። በእርግጥ ይህ ማውጫ በምንጭ መረጃ ውስጥ ያሉትን ሁሉንም ከተሞች ላያይዝ ይችላል ነገር ግን እኛ ሪፖርቶችን የምንፈልጋቸውን ብቻ ነው። እንደዚህ አይነት ሰንጠረዥ ለመፍጠር ቀላሉ መንገድ ትዕዛዙን መጠቀም ነው ውሂብ - ብዜቶችን ያስወግዱ (ውሂብ - የተባዙትን ያስወግዱ) ለአምድ ቅጂ ከተማ ወይም ተግባር UNIK (ልዩ) - የቅርብ ጊዜው የ Excel 365 ስሪት ካለዎት።

በኤክሴል ውስጥ አዲስ ሉሆች በነባሪነት የተፈጠሩት ከአሁኑ (የቀድሞው) በፊት (በስተግራ በኩል) ስለሆነ፣ በዚህ ማውጫ ውስጥ ያሉትን ከተሞችም በቅደም ተከተል (ከZ ወደ ሀ) መደርደር ተገቢ ነው - ከዚያ ከተፈጠሩ በኋላ ከተማዋ። ሉሆች በፊደል ይደረደራሉ።

ሁለተኛ ፣ እ.ኤ.አ. пሁለቱንም ጠረጴዛዎች ወደ ተለዋዋጭ ይለውጡ ("ብልህ") ከእነሱ ጋር መስራት ቀላል እንዲሆንላቸው. ትዕዛዙን እንጠቀማለን ቤት - እንደ ጠረጴዛ ቅርጸት (ቤት - እንደ ሰንጠረዥ ቅርጸት) ወይም የቁልፍ ሰሌዳ አቋራጭ መቆጣጠሪያ+T. በሚታየው ትር ላይ ግንበኛ (ዲዛይን) እንጥራላቸው tablProdaji и የጠረጴዛ ከተማ፣ በቅደም ተከተል

ጠረጴዛን ወደ ሉሆች መከፋፈል

ዘዴ 1. ማክሮ በሉሆች ለመከፋፈል

በላቀ ትር ላይ ገንቢ (ገንቢ) አዝራሩን ጠቅ ያድርጉ ቪዥዋል ቤዚክ ወይም የቁልፍ ሰሌዳ አቋራጭ ይጠቀሙ alt+F11. በሚከፈተው የማክሮ አርታኢ መስኮት ውስጥ አዲስ ባዶ ሞጁል በምናሌው ውስጥ ያስገቡ አስገባ - ሞጁል እና የሚከተለውን ኮድ እዚያ ይቅዱ።

ንኡስ Splitter () በክልል ("таблГорода") ክልል ውስጥ ለእያንዳንዱ ሕዋስ ("таблПродажи").AutoFilter መስክ:=3, መስፈርት1:=cell.የእሴት ክልል("таблПродажи[#ሁሉም]").SpecialVisibleCells(xlCell)። ሉህ	  

እዚህ በ loop ለእያንዳንዱ… ቀጣይ በማውጫው ሕዋሳት በኩል ምንባቡን ተግባራዊ አድርጓል የጠረጴዛ ከተማለእያንዳንዱ ከተማ የሚጣራበት (ዘዴ ራስ-ማጣሪያ) በዋናው የሽያጭ ሠንጠረዥ ውስጥ እና ከዚያም ውጤቱን ወደ አዲስ የተፈጠረ ሉህ መቅዳት. በመንገድ ላይ, የተፈጠረው ሉህ ወደ ተመሳሳይ የከተማው ስም ተቀይሯል እና የአምዶችን ወርድ ውበት በራስ-መገጣጠም በላዩ ላይ ይከፈታል.

የተፈጠረውን ማክሮ በ Excel ውስጥ በትሩ ላይ ማሄድ ይችላሉ። ገንቢ ቁልፍ ማክሮስ (ገንቢ - ማክሮ) ወይም የቁልፍ ሰሌዳ አቋራጭ alt+F8.

ዘዴ 2. በኃይል መጠይቅ ውስጥ ብዙ ጥያቄዎችን ይፍጠሩ

የቀደመው ዘዴ, ለሁሉም ጥቃቅን እና ቀላልነት, ጉልህ የሆነ ጉድለት አለው - በማክሮው የተፈጠሩት ሉሆች በመጀመሪያው የሽያጭ ሠንጠረዥ ላይ ለውጦች ሲደረጉ አይዘመኑም. በመብረር ላይ ማዘመን አስፈላጊ ከሆነ የVBA + Power Query ጥቅልን መጠቀም አለቦት፣ ወይም ይልቁንስ የማይንቀሳቀስ ውሂብ ያላቸውን አንሶላዎችን ብቻ ሳይሆን የዘመኑ የኃይል መጠይቅ መጠይቆችን በመጠቀም ማክሮ ይፍጠሩ።

በዚህ ጉዳይ ላይ ያለው ማክሮ በከፊል ከቀዳሚው ጋር ተመሳሳይ ነው (እንዲሁም ዑደት አለው ለእያንዳንዱ… ቀጣይ በማውጫው ውስጥ ያሉትን ከተሞች ለመድገም)፣ ነገር ግን በ loop ውስጥ ከአሁን በኋላ ማጣራት እና መቅዳት አይኖርም፣ ነገር ግን የኃይል መጠይቅ መጠይቅ መፍጠር እና ውጤቶቹን ወደ አዲስ ሉህ በመስቀል ላይ፡-

ንኡስ Splitter2() በክልል ውስጥ ላለ ለእያንዳንዱ ሕዋስ ("የከተማ ሠንጠረዥ") ActiveWorkbook.Queries.Add Name:=cell.Value, Formula:= _ "let" & Chr(13) & "" & Chr(10) & "ምንጭ = Excel.CurrentWorkbook(){[Name=""TableSales"] [ይዘት]," እና Chr(13) እና "" እና Chr(10) እና " #""የተቀየረ አይነት""= ሠንጠረዥ።TransformColumnTypes(ምንጭ) , {{""መደብ""፣ ፅሁፍ ተይብ}፣ {"ስም"፣ፅሁፍ ተይብ}፣ {""ከተማ"፣ፅሁፍ ተይብ}፣ {""አስተዳዳሪ"፣ ፅሁፍ ተይብ}፣ {""ቅናሽ date "" type datetime}፣ {""ወጪ"፣ አይነት ቁጥር}}፣ እና Chr(13) እና "" & Chr(10) እና " #"" ረድፎች ከማጣሪያ ጋር ተተግብረዋል"" = Table.Se " & _ "lectRows(#""የተቀየረ አይነት"፣እያንዳንዳቸው ([ከተማ] = """ & cell. እሴት እና "") " & Chr (13) & "" & Chr(10) & " #"" ረድፎች ማጣሪያ ተተግብረዋል"" ActiveWorkbook.Worksheets.ከActive Sheet.ListObjects.Add(ምንጭ:=13, ምንጭ:= _ "OLEDB; አቅራቢ = Microsoft.Mashup.OleDb.10; የውሂብ ምንጭ = $ የስራ ደብተር $; አካባቢ = " & cell. እሴት & "; የተራዘመ ንብረቶች = """" _, መድረሻ: = ክልል ("$ A $ 0"). የመጠይቅ ሰንጠረዥ .CommandType = xlCmd ስኩዌር .CommandText = ድርድር("ምረጥ *ከ [" & cell. እሴት እና "]") .RowNumbers = ሐሰት .FillAdjacentFormulas = ሐሰት .PreserveFormatting = እውነት .RefreshOnFileOpen = ሐሰት .BackgroundQuery = እውነት .RefreshStyle = FalxInsertDeleteCells .Password=Password. SaveData = እውነት .AdjustColumnWidth = እውነት .RefreshPeriod = 1 .PreserveColumnInfo = እውነት .ListObject.DisplayName = cell. እሴት  

ከተጀመረ በኋላ፣ ተመሳሳይ ሉሆችን በከተማ እናያለን፣ ነገር ግን አስቀድሞ የተፈጠሩ የኃይል መጠይቅ ጥያቄዎች ይመሰርታሉ፡-

ጠረጴዛን ወደ ሉሆች መከፋፈል

በመነሻ ውሂብ ላይ በሚደረጉ ማናቸውም ለውጦች, ተጓዳኝ ሠንጠረዥን በቀኝ መዳፊት አዘራር - ትዕዛዙን ማዘመን በቂ ይሆናል አዘምን እና አስቀምጥ (አድስ) ወይም አዝራሩን በመጠቀም ሁሉንም ከተማዎች በአንድ ጊዜ በጅምላ ያዘምኑ ሁሉንም አዘምን ትር መረጃ (ውሂብ - ሁሉንም አድስ).

  • ማክሮዎች ምንድን ናቸው, እንዴት እንደሚፈጠሩ እና እንደሚጠቀሙባቸው
  • የሥራ መጽሐፍ ሉሆችን እንደ የተለየ ፋይሎች በማስቀመጥ ላይ
  • ከሁሉም የመጽሐፉ ሉሆች መረጃን ወደ አንድ ጠረጴዛ መሰብሰብ

መልስ ይስጡ