[問題] Excel VBA range包cell且用變數

作者: KOBEretire16 (不死kobe)   2019-01-01 14:39:51
軟體: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
但在一開始選取那邊就會出現
"應用程式或物件上錯誤"
請問我該怎麼修改呢?
先感謝各路大神幫忙了~
作者: soyoso (我是耀宗)   2019-01-01 14:53:00
出現這個錯誤 https://i.imgur.com/n1Uv7mY.jpg 嗎?如果巨集是寫在工作表內而產生的話,可改寫至模組會產生該錯誤表示所選取的範圍不在activate作用中或select選取中。因此如果不改以模組寫的話,可於range.select上方加上worksheet.activate或select如加了還是產生該錯誤的話,則需在range.select前方加上worksheets(工作表名稱).range.select如果沒錯誤代碼的話,貼上全部巨集碼,應會比較清楚巨集放在那裡執行的?thisworkbook?工作表?模組?
作者: KOBEretire16 (不死kobe)   2019-01-01 15:32:00
thisworkbook
作者: soyoso (我是耀宗)   2019-01-01 15:33:00
Worksheet.Active.Range(Cells(col, mul ....是worksheets(工作表名稱,如"1").activate或select下一行是range(cells(col,mul...)也可以是sheets("1").activate或selectKeepData傳值mul的方面為0,0*5=0,cells欄方面並無該欄號如指的是a欄的話,要+1測試 https://i.imgur.com/aVbcOYq.jpg 於thisworkbook內執行程序All並無產生錯誤因寫於thisworkbook,回文提worksheet.activeate或select就視執行程序時所在的工作表,可寫可不寫

Links booklink

Contact Us: admin [ a t ] ucptt.com