看板 Office 關於我們 聯絡資訊
軟體:Excel 版本:2007 本來想要錄製巨集來進行,但每一步驟都卡關, 希望達到 #清除底稿sheet有空白字元的欄位 #刪掉Description有*字符號的那一列 →Sheets("底稿").Columns("B:B").Find("~*").EntireRow.Delete 不知道這樣寫對嗎? #依條件sheet進行進階篩選,將篩選結果複製到結果sheet →一直出現只能在使用的工作表上複製篩選欄位,跑不出錄製結果 附上檔案求解 https://drive.google.com/file/d/0B6ayWCNy9KtIaS1la0VfTEs5ZVE/view?usp=sharing 感謝! -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 61.228.226.113 ※ 文章網址: https://www.ptt.cc/bbs/Office/M.1448264100.A.469.html
soyoso: 刪掉B欄儲存格內有*字符號的寫法可行,再外圈包個迴圈 11/23 17:07
soyoso: do...loop 11/23 17:07
soyoso: 複製到工作表"結果"內,請修改copytorange,將工作表"結果 11/23 17:20
soyoso: "加在range("a1")前面 11/23 17:20
paces: So大,請問你所指的迴圈要怎麼寫? 11/23 18:14
paces: 能看看我的程式碼是哪裡需要修改?謝謝! 11/23 18:15
soyoso: 迴圈寫法可google excel vba do...loop 11/23 18:28
soyoso: 修改方面因無報錯,所以並無要修改的部分;看看增添的迴圈 11/23 18:30
soyoso: 和將工作表"結果"加於range("a1")前面,寫法類似 11/23 18:31
soyoso: criteriarange:=後面接的部分 11/23 18:32
soyoso: do...loop,跳出條件可為range is nothing或 11/23 18:42
soyoso: worksheetfunction內countif為0時 11/23 18:43
soyoso: 或是用autofilter來篩選加以刪除,就不用迴圈了 11/23 19:02
soyoso: google excel vba autofilter delete rows 11/23 19:02
paces: Range("A1:D10768").AdvancedFilter Action:=xlFilterCopy, 11/23 20:34
paces: CriteriaRange:=Sheets("條件").Range("A1:D5"), 11/23 20:35
paces: CopyToRange:=Sheets("結果").Range("A1"), Unique:=False 11/23 20:35
paces: 篩選結果複製到結果sheet還是一直錯誤,看不出哪裡錯了? 11/23 20:36
soyoso: 回文提到的一直錯誤是指?報錯還是複製不到"結果"工作表內 11/23 20:43
paces: 有報錯且複製不到"結果"工作表內 11/23 20:46
soyoso: https://youtu.be/OV5xhZa-pQE 以原po回文內容測試,並無 11/23 21:27
soyoso: 錯誤產生 11/23 21:27
paces: 抱歉,我有做過修改,已更改附件重上傳,執行後出現: 11/23 22:03
paces: 執行階段錯誤在抽選欄位中找不到欄位名稱或欄位名稱不正確 11/23 22:04
soyoso: 測試將工作表"結果"第一列清除掉,就可以 11/23 22:25
soyoso: https://youtu.be/LQHBkoyyj24 11/23 22:34
paces: So大,謝謝,真是解決我的問題了~ 11/23 23:26
※ 編輯: paces (61.228.226.113), 11/25/2015 01:54:08