Board logo

標題: 如何在表單顯示 Excel 某欄位的數值? [打印本頁]

作者: bowwow1975    時間: 2012-7-16 18:13     標題: 如何在表單顯示 Excel 某欄位的數值?

我建立了一個表單,表單裡有兩個 textbox,輸入值的話會傳至 Sheet3 的儲存格!
算完之後,請問我要如何把直抓到表單裡?
(例如算出的值在 F5的話)

我是要用標籤去取值還是?

Private Sub CommandButton1_Click()
Sheet3.Range("G3").Value = 1.Text
Sheet3.Range("G10").Value = 2.Text
End Sub

找了一整個下午了~~~~
我是超級新手,因為老闆突然要我設計 Excel VBA,還請大大幫幫忙!
作者: hugh0620    時間: 2012-7-17 10:08

回復 1# bowwow1975


    請上傳你的範例~ 因為看不懂 你下面的這兩句話
   ============================
    算完之後,請問我要如何把直抓到表單裡?
  (例如算出的值在 F5的話)
   ============================
   所謂的算完後的值是什麼意思??  (你的值是怎麼算的,是什麼意義呢??)
   所謂的值在F5又是什麼意思??

    問題的描述要更清楚一些~ 會更好知道你的需求唷~
作者: bowwow1975    時間: 2012-7-17 11:30

回復 2# hugh0620

不好意思,我講詳細點!

具體就是,我在 excel 裡創建一個按鈕,開啟一個表單,然後表單裡有幾個 textbox,並增加一個執行按鈕!
執行後會把 textbox 的 直傳至 Excel 儲存格裡,由 Excel 做運算,運算完後,我希望值可以 show 在表單上!

PS表單沒有關閉,只是想利用 Excel 做幕後運算而已!
作者: GBKEE    時間: 2012-7-17 14:17

回復 3# bowwow1975
並增加一個執行按鈕!
  1. Private Sub CommandButton1_Click() '這是表單上的按鈕
  2.     With Sheet3
  3.         .Range("G3").Value = TextBox1.Text   '無法用數字命名表單控制項
  4.         .Range("G10").Value = TextBox2.Text  '如 1 ,2 -> 1.TEXT ,2.TEXT 不接受
  5.         Label1 = .Range("F5").Text            '表單可新增一Label控制項 接收 F5
  6.     End With
  7. End Sub
複製代碼

作者: bowwow1975    時間: 2012-7-17 14:37

感謝版主~~~又學到了一個 With 的用法!
話說回來  Label 的 (name) 欄位好像不給更改?
作者: GBKEE    時間: 2012-7-17 15:00

回復 5# bowwow1975

[attach]11705[/attach]
作者: hugh0620    時間: 2012-7-17 15:01

回復 5# bowwow1975


表單的架構圖

[attach]11706[/attach]
  1. '表單內的程式碼

  2. Private Sub CommandButton1_Click()  'Add

  3. A = Sheet1.Range("A65536").End(xlUp).Offset(1, 0).Row

  4. With UserForm1
  5.      Sheet1.Range("A" & A).Select
  6.      Sheet1.Range("A" & A) = .TextBox2.Text
  7.      .TextBox1.Text = A
  8. End With

  9. End Sub

  10. Private Sub CommandButton2_Click()  '上一筆

  11. With UserForm1
  12.      K = .TextBox1.Value - 1
  13.      If K < 3 Then
  14.          MsgBox "已經到資料的第一筆"
  15.          Sheet1.Range("A3").Select
  16.          .TextBox1.Text = 3
  17.      Else
  18.          Sheet1.Range("A" & K).Select
  19.          .TextBox1.Text = Sheet1.Range("A" & K).Row
  20.          .TextBox2.Text = Sheet1.Range("A" & K)
  21.      End If

  22. End With

  23. End Sub

  24. Private Sub CommandButton3_Click() '下一筆
  25. With UserForm1
  26.      K = .TextBox1.Value + 1
  27.      S = Sheet1.Range("A65536").End(xlUp).Row
  28.      If K > S Then
  29.          MsgBox "已經到資料的最後一筆"
  30.          Sheet1.Range("A" & S).Select
  31.          .TextBox1.Text = S
  32.      Else
  33.          Sheet1.Range("A" & K).Select
  34.          .TextBox1.Text = Sheet1.Range("A" & K).Row
  35.          .TextBox2.Text = Sheet1.Range("A" & K)
  36.      End If

  37. End With
  38. End Sub

  39. Private Sub UserForm_Activate()  '執行UserForm時的各項預設
  40. '===== 初始的UserForm的設定======
  41. With UserForm1
  42.      .CommandButton1.Caption = "Add"
  43.      .CommandButton2.Caption = "上一筆"
  44.      .CommandButton3.Caption = "下一筆"
  45.      .Label1.Caption = "現在是第"
  46.      .Label2.Caption = "列資料"
  47.      .TextBox1.Text = Sheet1.Range("A3").Row
  48.      .TextBox1.Enabled = False
  49.      .TextBox2.Text = Sheet1.Range("A3")
  50. End With
  51. '=================================
  52. End Sub
複製代碼

作者: bowwow1975    時間: 2012-7-17 15:23

回復 6# GBKEE

版主~~~我真的想切腹自殺~~~我發誓,我也知道從那裡改!
但是剛剛就是不給改~~~

然後等你回覆之後,我又去改~~~~變成可以改了.............................
作者: mark15jill    時間: 2012-8-9 17:27

回復 8# bowwow1975

那是正常的...
有時候是因為你執行中 不能改  或執行中有錯誤 也不會給改
作者: cake1234    時間: 2016-12-3 23:21

感謝大大們的指導教學




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