返回列表 上一主題 發帖

[發問] 關於"將運算結果傳至特定工作表"的問題

關於不同工作表資料互相傳遞的問題

想請教各位大家關於"不同工作表資料互相傳遞"的問題,以表1做說明:
假設今天是1/3,今天已經在A到G有資料的最後一欄做好資料了,要把該工作表的A欄,B欄,D欄,F欄,G欄的最後一欄的資料,
抓到"工作表2"A欄,B欄,C欄,D欄,E欄的最後一欄,來完成1/3的數據更新。


工作表1
A        B             C          D            E           F                   G
日期  最高價  最低價 成交量  高-低  平均價格  平均成交量
1/1   8000      7900    1000     100      7500              800   
1/2   9000      8000      900      250     7000              750
1/3    9500     8500      750      150     7400              950   

工作表2
A          B                 C               D                       E               
日期  最高價     成交量      平均價格  平均成交量
1/1   8000          1000         7500              800   
1/2   9000           900          7000              750

-----------------------------------------------------------------------------------------------------------
因為每一天的A到G欄的最後一列都會往下新增,所以不會每天都一樣,想不出來如何代入Array裡用resize指令,所以想請教大家,先謝謝了。

TOP

回復 2# Hsieh

謝謝H大,本來想先宣告幾個變數,然後用set rng加上offset(0)去找"用到的欄位"的最後一格,放入幾個變數,再放到array裡頭,
會讓程式碼會寫的很長,學習到了新用法,謝謝。

TOP

回復 2# Hsieh

回H大,
這兩行程式碼一直維持在紅字的狀態,不知出了什麼問題,能不能幫我看看:
工作表2.Cells(Rows.Count, 1).End(xlUp).Offset(1).Resize(, 5) = _

Array(.Cells(r, "A").Value, .Cells(r, "B").Value, .Cells(r, "D").Value, .Cells(r, "F").Value, .Cells(r, "G").Value)



另外
r = .Cells(.Rows.Count, 1).End(xlUp).Row  <<<r直接宣告成integer或long會影響到後面的部份嗎

TOP

回復 2# Hsieh
謝謝H大的教學,還有感謝之前GBKEE大的教學,才能融匯貫通程式碼,稍微改了一下,很順利成功,程式碼如下:

Sub ex1()

Dim r
Dim Ar()
Dim rng As Range

With Sheets("工作表1")

r = .Cells(.Rows.Count, 1).End(xlUp).Row '因為有這行設定的關係,可以省下很多時間

Ar = Array(.Cells(r, "A").Text, .Cells(r, "C").Value, .Cells(r, "E").Value, .Cells(r, "G").Value)
End With

With Sheets("工作表2")

Set rng = .Range("A" & Rows.Count).End(xlUp)
    rng.Offset(1).Resize(1, 4) = Ar

End With
End Sub

TOP

[發問] 關於"將運算結果傳至特定工作表"的問題

感謝H大的教學,前面不同工作表資料互相傳遞的問題已經解決,將運算結果要傳送到其他sheet一直變成零,抓不出問題。

想請教的問題如下
以表1做說明:
假設今天是1/3,今天已經在A到G有資料的最後一欄做好資料了,要把該工作表的A欄,B欄,D欄,F欄,G欄的最後一欄的資料,
抓到"工作表2"A欄,B欄,C欄,D欄,E欄的最後一欄,來完成1/3的數據更新後。

在"工作表2"的E欄的最後一格,運算結果為(小數點格式或整數格式),抓到"工作表3"的f3欄,用等於的方式寫不出來,用複製貼上
的好像比較容易,但是速度比較慢的感覺。

工作表1
A        B             C          D            E           F                   G
日期  最高價  最低價 成交量  高-低  平均價格  平均成交量
1/1   8000      7900    1000     100      7500              800   
1/2   9000      8000      900      250     7000              750
1/3    9500     8500      750      150     7400              950   

工作表2
A          B                 C               D                       E               
日期  最高價     成交量      平均價格  平均成交量
1/1   8000          1000         7500              800   
1/2   9000           900          7000              750
1/3   9500          750           7400             950

回復 7# GBKEE
回GBKEE大,因為沒辨法順利執行,我先用複制貼上的方法好了,因為昨天一直想用等於來做,所以卡關。

TOP

        靜思自在 : 【行善要及時】行善要及時,功德要持續。如燒開水一般,未燒開之前千萬不要停熄火候,否則重來就太費事了。
返回列表 上一主題