看板 Office 關於我們 聯絡資訊
排序時excel會移動游標 所以ActiveCell代表的格子可能與錄好再執行時的格子不同 另一方面主要的問題在 排序的範圍是固定的 不能用相對錄又要它固定範圍 所以錄完還要依需求修改 在b9格 開始錄:按A→Z排序鈕,Ctrl+D 結束 產生 ActiveCell.Offset(-1, 0).Range("A1:D9").Sort Key1:=ActiveCell.Offset(7, 1). _ Range("A1"), Order1:=xlAscending, Header:=xlGuess, OrderCustom:=1, _ MatchCase:=False, Orientation:=xlTopToBottom, SortMethod:=xlStroke, _ DataOption1:=xlSortNormal Selection.FillDown 更改為 Range("A1:D8").Sort Key1:=ActiveCell.Offset(-1, 0). _ Range("A1"), Order1:=xlAscending, Header:=xlGuess, OrderCustom:=1, _ MatchCase:=False, Orientation:=xlTopToBottom, SortMethod:=xlStroke, _ DataOption1:=xlSortNormal Selection.FillDown 其中.Range("A1")好像沒什麼作用 就不管它了(刪掉亦可) ※ 引述《nik33 (far away home...)》之銘言: : 軟體:Excel : 版本:2003 : 有一組學生的成績需要整理,如下: : --------------------------------------- A B : 中 英 數 : a 20 76 45 : b 90 34 76 : c 45 56 34 : d 76 20 45 : e 34 90 76 : f 56 45 34 : g 98 76 56 9: 最高分 ? ? ? : --------------------------------------- : 希望可以透過錄製一個巨集(已選"以相對位置錄製"): : 1. 把滑鼠放在"最高分"列的"中文"下面的格子 : 2. 開始錄製 : 3. 排序(由低至高分) : 4. 選取最低那格的數值(最大值) : 4. 在"最高分"那列相應位置貼上最大值 : 5. 停止錄製 : 錄製後把滑鼠放在最高分列英文那格,執行巨集,但未能成功做到預期效果, : 希望大家可以指點一下,謝謝! -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.47.39.13