[VBA ] Excel cell與自訂表單TextBox連結

看板Visual_Basic作者 (貍貓)時間4年前 (2020/09/25 16:37), 4年前編輯推噓1(104)
留言5則, 2人參與, 4年前最新討論串1/1
各位大大好, 我現在用自訂表單中的TextBox連結到我Excel分頁中的儲存格 例如: 我要連結TextBox1和儲存格C1 我就在TextBox1的ControlSource屬性填入C1 TextBox1確實會出現儲存格C1的數值,C1值是使用excel公式計算出來的 我碰到的問題是,當我在自訂表單的程式碼中有去讀取TextBox1的資料時 連同儲存格C1的公式也會被值所覆蓋,但我希望C1的公式不要被改變 已經在TextBox1的Locked屬性設定為True,但只是限制使用者不能改TextBox1的值 仍無法解決這個問題 舉例說明: C1公式 "=A1*B1" 儲存格如下: A B C 1 6 6 36 我想要做到的效果是讓使用者輸入A1, B1資料 在自訂表單的TextBox1顯示C1的計算結果 現在的現象是: 1. 表單初始時,TextBox1內容 = 36 2. 使用者修改A1為4,TextBox1內容 = 24 3. 使用者修改A1為5,理論上C1 = 30, 但因為步驟2,C1內容被改為24 (公式被覆蓋) 導致C1顯示24,TextBox1顯示24 所以,是否有辦法讓C1 -> TextBox1 (單方向),而不要TextBox1 -> C1 目前折衷的辦法是利用保護工作表的功能,鎖定C1 但當自訂表單關閉時,會出現錯誤提示訊息「發生例外狀況」 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 60.250.199.40 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/Visual_Basic/M.1601023073.A.BF4.html ※ 編輯: piliGTcat (60.250.199.40 臺灣), 09/25/2020 16:40:17

09/30 21:54, 4年前 , 1F
建議用textbox1.value = worksheet(...).range(“C1”).
09/30 21:54, 1F

09/30 21:54, 4年前 , 2F
value,然後寫在userform initialize裡面
09/30 21:54, 2F

10/05 11:37, 4年前 , 3F
有想過這種方式,但因為我的userform設定為vbModeless
10/05 11:37, 3F

10/05 11:37, 4年前 , 4F
使用者可以去更改C1的值,這樣我要如何讓textBox1即時
10/05 11:37, 4F

10/05 11:37, 4年前 , 5F
反應呢?
10/05 11:37, 5F
文章代碼(AID): #1VRQnXlq (Visual_Basic)
文章代碼(AID): #1VRQnXlq (Visual_Basic)