Board logo

標題: [發問] TEXTBOX保留輸入過的字元 [打印本頁]

作者: apao2000    時間: 2014-3-10 12:37     標題: TEXTBOX保留輸入過的字元

各位大大,我在excel上建立了一個userform,再建位一個textbox輸入到某一個cell
我想問怎樣才可保留textbox和cell內的記錄,即不用每次開出來都不用再輸入呢?
先謝大家的回覆
作者: Hsieh    時間: 2014-3-11 09:03

回復 1# apao2000

把輸入的內容存在工作表內就可記憶住已輸入過的內容
只是不清楚你要這些內容的用處何在?
作者: apao2000    時間: 2014-3-11 10:16

回復  apao2000

把輸入的內容存在工作表內就可記憶住已輸入過的內容
只是不清楚你要這些內容的用處何在 ...
Hsieh 發表於 2014-3-11 09:03

多謝回覆
如圖所示想將textbox所輸入的字儲存到A1儲存格,到下次執行時會將A1的記錄回傳到textbox,不用每次都要重覆輸入
想問多一點就是可否執行巨集時,只開啟userform而不顯示workbook呢?

   [attach]17739[/attach]
作者: stillfish00    時間: 2014-3-11 16:39

回復 3# apao2000
可否執行巨集時,只開啟userform而不顯示workbook呢?

可在Form中這樣加
  1. Private Sub UserForm_Initialize()
  2.   ThisWorkbook.IsAddin = True
  3. End Sub

  4. Private Sub UserForm_Terminate()
  5.   ThisWorkbook.IsAddin = False
  6. End Sub
複製代碼

作者: apao2000    時間: 2014-3-11 18:33

回復  apao2000

可在Form中這樣加
stillfish00 發表於 2014-3-11 16:39


謝謝大大回覆,
不好意思我講得不太清楚,但如果只有某一兩個textbox只雖要保留記錄是怎樣做呢?
作者: stillfish00    時間: 2014-3-11 19:25

回復 4# stillfish00
  1. Private Sub TextBox1_Change()
  2.   ThisWorkbook.Sheets(1).[A1].Value = TextBox1.Value
  3. End Sub

  4. Private Sub UserForm_Initialize()
  5.   ThisWorkbook.IsAddin = True
  6.   TextBox1.Value = ThisWorkbook.Sheets(1).[A1].Value
  7. End Sub

  8. Private Sub UserForm_Terminate()
  9.   ThisWorkbook.IsAddin = False
  10.   'Unload Me
  11. End Sub
複製代碼

作者: apao2000    時間: 2014-3-11 21:53

回復  stillfish00
stillfish00 發表於 2014-3-11 19:25


謝謝stillfish大大,明天回公上試下先
作者: apao2000    時間: 2014-3-12 19:02

回復  stillfish00
stillfish00 發表於 2014-3-11 19:25



    stillfish兄,已試過了,但沒有回傳給textbox1,請問textbox的屬性有沒有關係呢?
作者: apao2000    時間: 2014-3-12 23:53

多謝各位,我已於其他討論區找到可用的程式了
作者: Hsieh    時間: 2014-3-13 15:54

回復 3# apao2000
  1. Private Sub UserForm_Initialize() '表單初始化時觸發
  2. TextBox1 = Sheets(1).[A1] '將A1的值寫入
  3. End Sub

  4. Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer) '表單關閉時觸發
  5. Sheets(1).[A1] = TextBox1 '將文字方塊內容寫入A1儲存格
  6. End Sub
複製代碼

作者: apao2000    時間: 2014-3-13 18:06

回復  apao2000
Hsieh 發表於 2014-3-13 15:54



    Thank you Hsieh的回覆,我所的方法是 commandbutton_click() 裡面加多一行 Me.TextBox1.Value = "" 都做到我的效果
   但又有另一個問題就是同樣commandbutton_click() 寫入以下程式,但點了ok後仍會執行print out動作,如何才可按了ok就停止,可讓我做回上一個動作,我太多問題了請各大大見諒
  If Sheet1.Cells(1,1) = "" Then
  MsgBox "Please choose location!", vbOKonly
  End If
作者: Hsieh    時間: 2014-3-13 18:27

回復 11# apao2000
只有片段程式碼,無法知道你的用意,如果單純結束這程序,加上exit sub即可
 If Sheet1.Cells(1,1) = "" Then
  MsgBox "Please choose location!", vbOKonly
exit sub
  End If
作者: apao2000    時間: 2014-3-13 21:45

Thank you Hsieh:
明天回公司試試吧,其實我一點VBA的知識都沒有,對很多語法都不懂,都是上網找一些類似的再自己改一改試試看,所以我都不太懂發問令到各位都模不着頭,但各位都盡力相助,感激萬分!
作者: apao2000    時間: 2014-3-13 22:07

回復  apao2000
只有片段程式碼,無法知道你的用意,如果單純結束這程序,加上exit sub即可
 If Sh ...
Hsieh 發表於 2014-3-13 18:27


因為我建立了三個optionbutton代表三個location "A樓" "B樓" "C樓",然後在下面的textbox輸入入倉編號再按commandbutton指示列印 :例如802-14031301(location+in house no)
而之前如忘記點optionbutton,印出的label會沒有location的,所以想用方法阻止發生這個問題,而我做到只可以,如沒點optionbutton會彈出警告 "please choose location!",但按ok後仍會繼續執行列印動作........希望你會明白我的意思




歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)