lbt 發表於 13-4-12 13:22

問題:如何強制 控制權到 sheet1上呢 ?頭痛中

問題:如何強制 控制權到 sheet1上呢 ?

情況是,我希望程式 一直在sheet1 跑,可是有時我會去點 EXCEL 上的chart 動態繪圖物件。(chart是根據sheet1上的資料繪圖)

點了之後,控制權就跑到chart 物件上了。之後只要有更新資料,就會出現 "row方法"('_global 物件') 失敗~~

當然 ,如果控制權在 sheet1上,就全ok 。

Sub updateFollow()
       Sheet1.Range("a" & Rows.Count).End(xlUp).Offset(1) = Sheet1.(每次都錯這一行)
       Sheet1.Range("b" & Rows.Count).End(xlUp).Offset(1) = Sheet1.
       Sheet1.Range("c" & Rows.Count).End(xlUp).Offset(1) = Sheet1.

End Sub

lbt 發表於 13-4-12 20:18

搞定了,結論就是……

不要在正在收資料時,去碰圖就對了 ><

r5888 發表於 13-4-12 20:48

Sub updateFollow()
       Sheet1.Range("a" & Rows.Count).Select ' 加一行試試看
       Sheet1.Range("a" & Rows.Count).End(xlUp).Offset(1) = Sheet1.(每次都錯這一行)
       Sheet1.Range("b" & Rows.Count).End(xlUp).Offset(1) = Sheet1.
       Sheet1.Range("c" & Rows.Count).End(xlUp).Offset(1) = Sheet1.

End Sub

lbt 發表於 13-4-12 23:07

本帖最後由 lbt 於 13-4-12 23:13 編輯

r5888 發表於 13-4-12 20:48 static/image/common/back.gif
Sub updateFollow()
       Sheet1.Range("a" & Rows.Count).Select ' 加一行試試看
       Sheet1.Range(" ...
類仏的方法 試過了…

這樣做的話,我盤中就等於就不能用EXCEL了。因為會一直 跳到      
Sheet1.Range("a" & Rows.Count).Select   這一行啊

adam.tseng 發表於 13-4-12 23:20

因為你用了End(xlUp),所以控制權一定要在Sheet1,建議直接給值最方便..

Sub updateFollow()

Sheet1.Cells(WorksheetFunction.Count(Sheet1.Range("A:A")) + 2, 1) = Sheet1.Cells(2, 1)
Sheet1.Cells(WorksheetFunction.Count(Sheet1.Range("B:B")) + 2, 2) = Sheet1.Cells(2, 2)
Sheet1.Cells(WorksheetFunction.Count(Sheet1.Range("C:C")) + 2, 3) = Sheet1.Cells(2, 3)


End Sub
頁: [1]
查看完整版本: 問題:如何強制 控制權到 sheet1上呢 ?頭痛中