[算表] (已解決)ExcelVBA Range設定自己跳掉

看板Office作者 (沒有暱稱)時間9年前 (2016/10/28 02:12), 9年前編輯推噓0(0017)
留言17則, 2人參與, 最新討論串1/1
軟體:Excel VBA 版本:2016 例如: Set Rng = Range( Cells(11,1),Cells(15,100) ) 結果選取的區域會自己跳掉 Cells(11,1)會不見 雖然改成下列設定也可達成目標 讓Cells(10,1)不見 Set Rng = Range( Cells(10,1),Cells(15,100) ) 有人知道Range設定後跳掉的原因嗎?? =================================================== 相同的語法 在之前的測試是完全正常可用的 後來多次整合其他部分的模組後 才變這樣的 Set Rng = Range( Cells(11,1),Cells(15,100) ) ===> Set RngX = Range( Cells(12,1),Cells(15,100) ) Set RngY = Range( Cells(11,2),Cells(15,100) ) 看圖示感覺像分別選取 RngX RngY 所以實際上可用的是RngX 至於相關語法部分 Set RngA = Range( Cells(11,1),Cells(11,100) ) Set RngB = Range( Cells(12,1),Cells(12,100) ) Set RngC = Range( Cells(13,1),Cells(13,100) ) Set RngD = Range( Cells(14,1),Cells(14,100) ) Set RngE = Range( Cells(15,1),Cells(15,100) ) 我另外有設定這5個區域 Rng = RngA + RngB + RngC + RngD + RngE 應該不是選位置的問題 因為之前測試的時候完全OK ================================================================ 已確認原因 Rng範圍正確 但不能空白 range.activate的(1,1)是空白的 若以空白Range直接設定 就會發生跳掉1格的問題 若以有值Range設定 就能正常使用 我也是用Range直接傳資料 要用有值的儲存格才能設定正確Range 感謝兩位 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 220.142.124.9 ※ 文章網址: https://www.ptt.cc/bbs/Office/M.1477591943.A.D7B.html

10/28 07:02, , 1F
請問有變數或者前後面有沒有其他相關語句
10/28 07:02, 1F

10/28 07:03, , 2F
不小心點到也可能
10/28 07:03, 2F

10/28 07:04, , 3F
我會建議你先在上一行用select 做個測試 比較準
10/28 07:04, 3F

10/28 07:04, , 4F
沒問題在把select 註掉
10/28 07:04, 4F

10/28 07:04, , 5F
Range( Cells(11,1),Cells(15,100) ).select
10/28 07:04, 5F

10/28 07:05, , 6F
希望有幫助到
10/28 07:05, 6F

10/28 07:05, , 7F
原po是指這樣嗎?http://imgur.com/Shc8LS1
10/28 07:05, 7F

10/28 07:06, , 8F
中斷點就設置在測試這段,在f8測下去
10/28 07:06, 8F

10/28 07:07, , 9F
如果是的話,這為作用儲存格,range.activate
10/28 07:07, 9F

10/28 07:14, , 10F
另外一個方向,或許不是你要的,但或許有相關
10/28 07:14, 10F

10/28 07:14, , 11F
我之前在複製資料的時候,用select copy past這類的語法
10/28 07:14, 11F

10/28 07:15, , 12F
後來我修改成直接= 丟過去,就卡住了,時常也會有沒選到
10/28 07:15, 12F
我遇到的問題是直接設定Range 結果因為儲存格空白導致位置不正確 果然看似不重要的地方才是關鍵點

10/28 07:16, , 13F
的情況,這時後,如果是"範圍的資料",要=到新的位置
10/28 07:16, 13F

10/28 07:16, , 14F
那麼你新的位置的大小,要跟舊的一樣大,所以要找出範圍
10/28 07:16, 14F

10/28 07:16, , 15F
的長寬
10/28 07:16, 15F

10/28 07:17, , 16F
不過我遇到的狀況是比較蠢的,我忘了我貼上的位置在一兩
10/28 07:17, 16F

10/28 07:17, , 17F
萬列那裡,所以以為沒貼上資料-,-
10/28 07:17, 17F
※ 編輯: ProTrader (220.142.124.9), 10/28/2016 09:40:33 ※ 編輯: ProTrader (220.142.124.9), 10/28/2016 11:50:22 ※ 編輯: ProTrader (220.142.124.9), 10/28/2016 11:51:06
文章代碼(AID): #1O4aE7rx (Office)
文章代碼(AID): #1O4aE7rx (Office)