看板 Office 關於我們 聯絡資訊
軟體:Excel 版本:2013 各位強大的版友好還有2019新年快樂~~ 目前小弟我想要將某些欄位用range來圈選 然後想將裡面的內容複製到同一個檔案但不同sheet中 以下為部分程式碼 row, col 都是我傳進去的參數 Range(Cells(row, col), Cells(row, col+4)).Select Range("F11:J12").Select Application.CutCopyMode = False Selection.Copy Sheets("2").Select Range("A1:E1").Select Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False 但在一開始選取那邊就會出現 "應用程式或物件上錯誤" 請問我該怎麼修改呢? 先感謝各路大神幫忙了~ -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 120.114.240.1 ※ 文章網址: https://www.ptt.cc/bbs/Office/M.1546324794.A.1EB.html ※ 編輯: KOBEretire16 (120.114.240.1), 01/01/2019 14:41:49
soyoso: 出現這個錯誤 https://i.imgur.com/n1Uv7mY.jpg 嗎? 01/01 14:53
soyoso: 如果巨集是寫在工作表內而產生的話,可改寫至模組 01/01 14:55
並不會有錯誤代碼耶 https://imgur.com/I173lv9 ※ 編輯: KOBEretire16 (120.114.240.1), 01/01/2019 15:02:53
soyoso: 會產生該錯誤表示所選取的範圍不在activate作用中或select 01/01 14:57
soyoso: 選取中。因此如果不改以模組寫的話,可於range.select上方 01/01 14:58
soyoso: 加上worksheet.activate或select 01/01 14:59
soyoso: 如加了還是產生該錯誤的話,則需在range.select前方加上 01/01 15:00
soyoso: worksheets(工作表名稱).range.select 01/01 15:01
如果在表單裡面執行的話會有400的錯誤代碼 https://imgur.com/YA7NR2y ※ 編輯: KOBEretire16 (120.114.240.1), 01/01/2019 15:11:09
soyoso: 如果沒錯誤代碼的話,貼上全部巨集碼,應會比較清楚 01/01 15:10
我放上去了,有稍微精簡過 https://pastebin.com/igS6EpHC ※ 編輯: KOBEretire16 (120.114.240.1), 01/01/2019 15:22:27
soyoso: 巨集放在那裡執行的?thisworkbook?工作表?模組? 01/01 15:29
KOBEretire16: thisworkbook 01/01 15:32
soyoso: Worksheet.Active.Range(Cells(col, mul .... 01/01 15:33
soyoso: 是worksheets(工作表名稱,如"1").activate或select 01/01 15:33
soyoso: 下一行是range(cells(col,mul...) 01/01 15:33
soyoso: 也可以是sheets("1").activate或select 01/01 15:34
soyoso: KeepData傳值mul的方面為0,0*5=0,cells欄方面並無該欄號 01/01 15:35
soyoso: 如指的是a欄的話,要+1 01/01 15:35
soyoso: 測試 https://i.imgur.com/aVbcOYq.jpg 於thisworkbook內 01/01 15:38
soyoso: 執行程序All並無產生錯誤 01/01 15:38
soyoso: 因寫於thisworkbook,回文提worksheet.activeate或select 01/01 15:39
soyoso: 就視執行程序時所在的工作表,可寫可不寫 01/01 15:40
原來問題是出在傳0進來...我一直沒注意到真是抱歉! ※ 編輯: KOBEretire16 (120.114.240.1), 01/01/2019 15:52:35