HH1225 發表於 13-12-7 09:44

請教 Excel VBA高手 如何擷取 Sheet2 數據 供sheet1使用

請教 Excel VBA高手 如何擷取 Sheet2 數據 供sheet1使用

例如 sheet1 有一 R1變數
此sheet1 R1 如何擷取 sheet2 儲存格 sheet2.range("T8")數值供運算
其 VBA Code 該如何寫
謝謝

rockwell 發表於 13-12-7 12:46

本帖最後由 rockwell 於 13-12-7 12:48 編輯

不是很懂,但會是這樣嗎?

假設R1是要sheet2的T8+sheet1的R3:

Worksheets.sheet1.range("R1")=Worksheets.sheet2.range("T8")+Worksheets.sheet1.range("R3")

不然就是
Worksheets("sheet1").range("R1")=.......

還是
Worksheet.sheet1.range("R1")=.......

哈~~~都試試,沒念書,所以沒學好。

tamago797 發表於 13-12-7 14:53

建議你使用"錄製巨集"的功能

例如在sheet2 T8按右鍵複製
在sheet1 R1貼上

結束錄製後, 去VBA裡面看看

HH1225 發表於 13-12-7 15:22

這是原本的code   R1定義是變數 不是儲存格

Private Sub Worksheet_Calculate()

Static R1 As Range
Static old_R1 As Variant

If R1 Is Nothing Then Set R1 = Range("A8")

If R1 = 88 And old_R1 = 0 Then
Call 國內下單
End If

old_R1 = Val(R1)

End Sub

這code 是在sheet1 執行沒問題

現在我是要把 If R1 Is Nothing Then Set R1 = Range("A8")
改成 If R1 Is Nothing Then Set R1 = sheet13.Range("T6")

但似乎不行 不知問題出在哪兒

HH1225 發表於 13-12-7 15:24

tamago797 發表於 13-12-7 14:53 static/image/common/back.gif
建議你使用"錄製巨集"的功能

例如在sheet2 T8按右鍵複製


我不是要用複製貼上
否則直接用"等於"就可以了

HH1225 發表於 13-12-7 15:25

rockwell 發表於 13-12-7 12:46 static/image/common/back.gif
不是很懂,但會是這樣嗎?

假設R1是要sheet2的T8+sheet1的R3:


我code的 R1 是變數
不是儲存格

HH1225 發表於 13-12-7 16:46

已有網友幫忙修改OK了
謝謝大家幫忙
謝謝

TrendRover 發表於 13-12-18 05:17

HH1225 發表於 13-12-7 16:46 static/image/common/back.gif
已有網友幫忙修改OK了
謝謝大家幫忙
謝謝

正確方式呢?公布一下吧.取之網站回饋網站.

HH1225 發表於 13-12-18 06:38

TrendRover 發表於 13-12-18 05:17 static/image/common/back.gif
正確方式呢?公布一下吧.取之網站回饋網站.

<現在我是要把 If R1 Is Nothing Then Set R1 = Range("A8")
改成 If R1 Is Nothing Then Set R1 = sheet13.Range("T6")>

If R1 Is Nothing Then Set R1 = sheet13.Range("T6")
sheet13 會造成"超出範圍"的錯誤


將sheet13 改成 sheet7 就OK了
If R1 Is Nothing Then Set R1 = sheet7.Range("T6")
可能sheet 有範圍限制吧




synn3618 發表於 14-1-15 13:14

謝謝大大    分享

mms7174 發表於 21-2-5 20:22

受益良多,謝謝分享

momolove 發表於 21-2-7 21:26

感謝樓主無私分享與辛苦付出
頁: [1]
查看完整版本: 請教 Excel VBA高手 如何擷取 Sheet2 數據 供sheet1使用