返回列表 上一主題 發帖

[發問] office365 excel 記錄數值

[發問] office365 excel 記錄數值

本帖最後由 ahsiek 於 2018-12-21 15:50 編輯

各位大大好
之前用stillfish00 大大所改的程式碼來記錄數值,在2010版本的excel使用
記錄數值ABC裡有數個工作表,bb明細是其中之一,我都是在bb明細裡按了【清除&開始】後,就在其他的工作表裡工作
只要不是從同個活頁簿裡再開其他的活頁簿,bb明細就不會中斷出問題

不過現在改用office365版本後,我開了記錄數值ABC後,再開其他活頁簿,似乎會被當成是同一個活頁簿裡開的
這時bb明細就會跳出偵錯
20181218_073419989_iOS.jpg
2018-12-21 15:38

按了偵錯後,就會跳到這裡,箭頭指的地方
BB明細.png
2018-12-21 15:41


所以我猜想應該是With Sheets(sSheetName)這邊出了問題,但我不知道這邊該怎麼改才可以
可煩請各位大大能幫忙看看,該怎麼改呢?
附檔在下,寫在模組裡:
記錄數值ABC.rar (126.97 KB)

回復 1# ahsiek


    sheets ...  工作表... 更改看看

  多做多想多學習,少看少錯少迷途

  多做=多多練習,多多編寫。
  多想=想想為什麼人家程式要那樣寫,如果換成自己,又會怎寫。
  多學習=學習人家的發問並解答,學習人家的寫法

  少看=只看不做也枉然

TOP

回復  ahsiek


    sheets ...  工作表... 更改看看
mark15jill 發表於 2018-12-30 14:29



謝謝大大的回覆:
  1. Function mainFunc2(sSheetName As String) As Long  'bb.明細工作表記錄部份

  2.   With Sheets(sSheetName)

  3.     i = .Cells(.Rows.Count, 1).End(xlUp).Row + 1


  4.     .Cells(i, "A") = Format(Time, "Hh:Mm:Ss")   'ROW A,記錄時間


  5.     .Cells(i, "B").Resize(, 48).Value = .Cells(6, "B").Resize(, 48).Value  'B6-AW6複製到B7-AW7

  6.   End With

  7.   

  8.   mainFunc2 = i  '回傳當前列數

  9.    

  10. End Function
複製代碼
是指把With Sheets(sSheetName) 改成 With Sheets(b明細) 這樣對嗎?

TOP

謝謝大大的回覆:是指把With Sheets(sSheetName) 改成 With Sheets(b明細) 這樣對嗎?
ahsiek 發表於 2019-1-3 15:18



    印象中,工作表開頭的 就要用工作表  >>> 工作表()

  多做多想多學習,少看少錯少迷途

  多做=多多練習,多多編寫。
  多想=想想為什麼人家程式要那樣寫,如果換成自己,又會怎寫。
  多學習=學習人家的發問並解答,學習人家的寫法

  少看=只看不做也枉然

TOP

回復 1# ahsiek
可以用 Thisworkbook 指定該巨集所在的活頁簿
With ThisWorkbook.Sheets(sSheetName)
表達不清、題意不明確、沒附檔案格式、沒有討論問題的態度~~~~~~以上愛莫能助。

TOP

回復 4# mark15jill


    謝謝你的回覆,我用了stillfish00大大的方法就OK了。

TOP

回復 5# stillfish00


    非常謝謝stillfish00大大的幫忙,現在在Office365的excel檔,就沒有出現問題了,再次謝謝你。

TOP

        靜思自在 : 能幹不幹,不如苦幹實幹。
返回列表 上一主題