孫興華向網(wǎng)友求助!
有位網(wǎng)友提問,網(wǎng)友準(zhǔn)備很充分,我也很想幫助他,但是我真的不明白是什么意思,特向網(wǎng)友求助,請大家?guī)臀铱纯?,網(wǎng)友的需求是什么?我求助的不是解決方案,而是想知道要做什么。
只要能讓我明白需求,我做一套ExcelVBA教程,再隨送一套Access做出來的自動化窗體的軟件教程分享給大家
以下內(nèi)容原封不動復(fù)制網(wǎng)友提問,沒有添加我的理解和語言,特向各位網(wǎng)友求助:
網(wǎng)友第一次需求:
情況: 一張表原始狀態(tài)28列+N行,被人折騰后,到我手里,數(shù)據(jù)部分列數(shù)刪減,列位置變更前后(但也可能是會保留A1:A28標(biāo)題數(shù)不變,把有用數(shù)據(jù)列靠前排,無用列僅保留標(biāo)題行。)。另外,A列有效數(shù)據(jù)不穩(wěn)定,不能當(dāng)總行數(shù)列。
這么個狀態(tài)。
需求:
①遍歷第一行row(1),依據(jù)關(guān)鍵字找到需求標(biāo)題所在列,提列號備用。(標(biāo)題原來英文,現(xiàn)在可能英文或改成了中文,例如:原來叫NAME列,現(xiàn)在叫姓名列,搜到其一就確定姓名列,類推。)。
②默認(rèn)2個關(guān)鍵列[車牌號]和[工卡號],排序按key1[工卡號]+ke2[車牌號]排序。如果搜到[執(zhí)行地]列存在,那么按照三3列方法[工卡號][車牌號][執(zhí)行地]排序,排序順序“ke1工卡號+key2車牌號,然后再回過頭按照 key1[執(zhí)行地]排一次序。
完成



不標(biāo)顏色

上面代碼能運行,就是最笨的方法+拼湊,停留在需要輸入iputbox提示輸入[車牌號][工卡號][執(zhí)行地]的具體到[A][B][C]列名,不是準(zhǔn)確字母就出錯。
遍歷,找列,提取列字母,帶入排序。
網(wǎng)友第二次詳細(xì)的又說了一下需求:
①3個條件以上排序95%人不知先后順序,以及需要分幾次去排序,才能出需求效果
②客戶是運營方,安排哪些車輛、途徑哪、做什么保養(yǎng)、其它事宜列信息。周計劃出計28列+n行數(shù)據(jù)總表,期間有計劃變更。
③我們是承接方。得按我們內(nèi)部不同城市篩選出各地點要做工作表,下發(fā)。
④拿到計劃/改版計劃,得調(diào)整列和列順序,刪沒用東西列,把看不懂的 標(biāo)題列名改成能看得懂的標(biāo)題名(打一張A4橫版紙張。)
⑤得按這樣排序
北京,京A8888,換發(fā)動機,10月23
北京,京A8888,換變速箱油,10月23
北京,京A8888,換減震,10月30
北京,京B6666,洗車,10月22
上海,京A8888,機油機濾,10月25
上海,京B8888,貼膜,10月25
⑥按執(zhí)行地列拆分表,發(fā)各地方,提前準(zhǔn)備料。
⑦有得車就一個地方做,就把執(zhí)行地列刪了。(當(dāng)然也可以找不到此列,新加一列,賦值固定[執(zhí)行地])
⑧排序之后,還需要進一步處理表,遍歷行,每行多單元格判斷信息,符合條件的,在最后列二次標(biāo)注(如:北京_加急,北京_特殊需求),不符合特殊條件的,標(biāo)注 北京_一般工作。
⑨最后用新增判斷列,來拆分工作表。
我這說不太好。
按說是前臺整個宏表,要處理上述問題表,宏按鈕,打開原始數(shù)據(jù)表.xlsx,按“多篩選條件按鈕+單選/多選項+打印按鈕??刂?/p>
網(wǎng)友第三次詳細(xì)說明需求:
大概說說:
打開表,原始表應(yīng)該28列N行,下面是數(shù)據(jù)?!懊苛小蔽恢冒慈思铱蛻糇约盒枰诺摹T急肀緛淼谝恍械谝涣惺牵坌蛱枺?連續(xù)數(shù)字1 to n。
但被我們?nèi)颂幚砗螅坌蛱枺荼粍h除或把我們認(rèn)為有用的第一列[執(zhí)行地]排在第一列的情況。然后刪除沒用列,插入我們需要的信息列。(導(dǎo)致原28列縮減到17列或者還保留28列標(biāo)題單元格長度,但實際數(shù)據(jù)是17列,后面刪空數(shù)據(jù)部分僅留存空標(biāo)題)。
標(biāo)題是這樣:(但列位置不固定)
必要列[執(zhí)行地/或叫AAA][車牌號/或叫BBB][工作類別/或叫CCC][工卡號/或叫DDD][工作內(nèi)容/或叫EEE][緊急程度][是否收費][收費方式]
列名出現(xiàn)方式可能是: [執(zhí)行地][BBB][CCC][工作內(nèi)容]這種混合中英文形式。
打開表,按說得確按照我們看著方便把列排排序[執(zhí)行地][車牌號][工作類別][工卡號][工作內(nèi)容][緊急程度][是否收費][收費方式]的順序排好。后面無所謂的列順序。
所以,打開表確定執(zhí)行表,刪空其它表,刪空行空列,然后需要遍歷第一行標(biāo)題,當(dāng)找到上述關(guān)鍵字所在列,如搜到[執(zhí)行地]或[AAA]就認(rèn)為是“執(zhí)行地列”,提取列號。
沒有 [執(zhí)行地]/[AAA]列就插入一列賦值“執(zhí)行地”,填充“無屬地”。
如果有[執(zhí)行地]/[AAA]標(biāo)題,但是二次判斷各行數(shù)據(jù)時,該單元格空值,就給一個“無屬地”默認(rèn)值,來拼湊字符串。
排序時候,是不應(yīng)該這樣理解:如果最開始尋列位置時沒有[執(zhí)行地]被創(chuàng)建的列且賦值“無屬地”。就沒有3個關(guān)鍵列排序的意義了,僅僅執(zhí)行[車牌號+工卡號],即可
排序原則,①執(zhí)行地優(yōu)先分開地區(qū)塊②然后,同一執(zhí)行地的同一車牌號是集中一起③如果后面5個選項排序我也整不明白先后順序了


豎著灰是原列標(biāo)大概字段,橫列比較需要靠前展示列。中英文是可能展示出英文標(biāo)題。
第二表表示,列標(biāo)比實際數(shù)據(jù)長需要刪,另外,列標(biāo)題會換位置存在,需要移動列