Board logo

標題: [發問] 請問如何讓表單關閉後不清除上次的資料呢? [打印本頁]

作者: starry1314    時間: 2015-5-18 23:51     標題: 請問如何讓表單關閉後不清除上次的資料呢?

如標題所示....
另想請問如何設定可讓以下程式碼可指定合併儲存格呢?  使用.VALUE嗎?請問該如何套用
  1. Private Sub Worksheet_SelectionChange(ByVal Target As Range)
  2. If Target.Address = "$A$4" Then UserForm1.Show
  3. End Sub
複製代碼
[attach]20977[/attach]
[attach]20977[/attach]
作者: GBKEE    時間: 2015-5-19 08:11

回復 1# starry1314

另想請問如何設定可讓以下程式碼可指定合併儲存格呢?

給指定合併儲存格的第一個Value

不清除上次的資料,表單顯示上次的選擇.是這樣嗎?
  1. Private Sub UserForm_Initialize()
  2.     With Sheets("出餐單")
  3.         CheckBox1.Value = IIf(.Range("C100") = "牛肉", True, False)
  4.         CheckBox2.Value = IIf(.Range("C101") = "雞肉", True, False)
  5.     End With
  6. End Sub

  7. Private Sub 確定_Click()
  8.     With Sheets("出餐單")
  9.         .Range("C100") = IIf(CheckBox1, "牛肉", "")
  10.         .Range("C101") = IIf(CheckBox2, "雞肉", "")
  11.     End With
  12.     Unload Me '關閉表單
  13. End Sub
複製代碼

作者: starry1314    時間: 2015-5-19 08:23

回復 2# GBKEE


    1.不好意思~是我沒表達清除  是指這項代碼如何可指定合併過後的儲存格
  1. Private Sub Worksheet_SelectionChange(ByVal Target As Range)
  2. If Target.Address = "$A$4" Then UserForm1.Show
  3. End Sub
複製代碼
如果指向合併儲存格的話就沒法秀出表單,

2.是的~是我要的功能,感謝版主
作者: GBKEE    時間: 2015-5-19 08:31

回復 3# starry1314
給指定合併儲存格的第一個儲存格
  1. If Target.Cells(1).Address = "$A$4" Then UserForm1.Show
複製代碼

作者: starry1314    時間: 2015-5-19 10:15

回復 4# GBKEE


    感謝!!!
作者: starry1314    時間: 2015-5-19 13:42

本帖最後由 starry1314 於 2015-5-19 13:55 編輯

回復 4# GBKEE

版主~不好意思!請問這功能是有限定數量嗎?
因我筆數增加到1百多筆之後,上次點選記錄就失效了
[attach]20980[/attach]

想另外請問自行輸入那邊要如何寫呢?
TextBox1.text = IIF(.RANGE("C99") = TEXTBOX1.text
作者: starry1314    時間: 2015-5-19 14:02

回復 6# starry1314

自行輸入已解決
    Sheets("工作表1").Range("C227") = TextBox1.Text
作者: GBKEE    時間: 2015-5-19 14:13

回復 6# starry1314

Private Sub UserFrom_Initialize()  這裡錯誤
Private Sub UserForm_Initialize() 這是正確的


Private Sub 確定_Click()
    With Sheets("工作表1")
        .Range("C100") = IIf(CheckBox1, "牛肉,", "")
        .Range("C101") = IIf(CheckBox2, "雞肉,", "")
都是多一,
作者: starry1314    時間: 2015-5-19 14:53

回復 8# GBKEE


    不好意思~原來是我自己粗心了,
不過多的,是故意加的~剛發現原來是上一個程式碼少加, 不一致
作者: GBKEE    時間: 2015-5-19 15:29

回復 9# starry1314
  1. 想另外請問自行輸入那邊要如何寫呢?
  2. TextBox1.text = IIF(.RANGE("C99") = TEXTBOX1.text
複製代碼
是這樣嗎?
  1. Private Sub UserFoRm_Initialize()
  2.     With Sheets("工作表1")
  3.         TextBox1 = .Range("C100")
複製代碼
  1. Private Sub 確定_Click()
  2.     With Sheets("工作表1")
  3.      .Range("C100") = TextBox1
複製代碼





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