返回列表 上一主題 發帖

[發問] 記錄問題

[發問] 記錄問題

檔案中,當I2的值有變動時,將E2至I2的內容記錄到Sheet2和Sheet3,Sheet2只記錄最新的,Sheet3會向下記錄全部及重新打開此檔案時,會接續記錄
當Sheet3記錄到指定行數,會向右移,繼續向下記錄
但Sheet2也會向右移及記錄,

請教大大如何改寫,使到Sheet2不會向右移記錄,謝謝!
記錄1.rar (18.9 KB)

本帖最後由 軒云熊 於 2020-9-25 20:33 編輯

回復 1# donod
  我把變數存在Sheets(1).Cells(2, 1)儲存格 不知道是不是你要的
但寫法跟你不一樣 我也順便練習一下 有空在看看吧

javascript:;

記錄092501.rar (23.63 KB)

TOP

本帖最後由 軒云熊 於 2020-9-25 21:09 編輯

回復 1# donod

如果  只是要修改  就改這樣 但是 你的 Public i% 變數 有一個問題 就是關閉檔案後 變數會消失
覺得 Sub auto_open() 有點麻煩  所以才直接存到儲存格
     With Sheet2
     Set A = .Cells(Rows.Count, 1).End(xlUp).Offset(1).Resize(, 5)

TOP

回復 2# 軒云熊

謝謝大大,可以了!

TOP

有個原有的問題,Cell(I2)的數值是以import方式導入,每當導入的數值和之前的相同,也會觸發事件,
請教大大,如何避免,謝謝!

TOP

Private Sub Worksheet_Calculate()
Dim C&, xE As Range
If [i2] = Sheet2.Range("E2") Then Exit Sub
C = Sheet3.Cells(2, Columns.Count).End(xlToLeft).Column
C = Application.Ceiling(C, 6) - 5
Set xE = Sheet3.Cells(Rows.Count, C).End(xlUp)(2)
If xE.Row > 5 Then Set xE = Sheet3.Cells(2, xE.Column + 6)
Sheet2.Range("A2:E2") = [E2:I2].Value
xE.Resize(1, 5) = [E2:I2].Value
End Sub

自行研究, 超過工作表欄數會出錯..不除錯

TOP

本帖最後由 軒云熊 於 2020-9-26 17:41 編輯

回復 5# donod
我看錯了.... ...準大給的   Sheet2.Range("A2:E2") = [E2:I2].Value 才是    Sheet2只記錄最新的  ...抱歉  >"<

TOP

回復  donod
我看錯了.... ...準大給的   Sheet2.Range("A2:E2") = [E2:I2].Value 才是    Sheet2只記錄最 ...
軒云熊 發表於 2020-9-26 17:39

沒問題呀,也是多學一方法,謝謝軒云熊大大。只是原有的問題解決不了。
有個原有的問題,Cell(I2)的數值是以import方式導入,每當導入的數值和之前的相同,也會觸發事件,
請教大 ...
donod 發表於 2020-9-26 01:27

TOP

Private Sub Worksheet_Calculate()
Dim C&, xE As Range
If  = Sheet2.Range("E2") Then Exit Sub
C =  ...
准提部林 發表於 2020-9-26 14:35

感謝准提部林大大,正是這個。
原有的問題如何避免?
有個原有的問題,Cell(I2)的數值是以import方式導入,每當導入的數值和之前的相同,也會觸發事件,
請教大大,如何避免,謝謝!
donod 發表於 2020-9-26 01:27

TOP

回復 8# donod


    準大已經給你答案了 If [i2] = Sheet2.Range("E2") Then Exit Sub
我不是大大 我也是新手 我也還在學習 ...有時間就會來這裡 找題目練習  ^_^

TOP

        靜思自在 : 人要知福、惜福、再造福。
返回列表 上一主題