Board logo

標題: 表單的Label同步執行 [打印本頁]

作者: man65boy    時間: 2012-6-20 19:36     標題: 表單加連結

請教各位先師們,如何在表單裡的TextBox1輸入A欄裡的文字,按鈕後把畫面帶到該欄欄位。
[attach]11453[/attach]

麻煩指導一下,謝謝!
作者: kimbal    時間: 2012-6-20 22:45

本帖最後由 kimbal 於 2012-6-20 22:57 編輯
請教各位先師們,如何在表單裡的TextBox1輸入A欄裡的文字,按鈕後把畫面帶到該欄欄位。


麻煩指導一下, ...
man65boy 發表於 2012-6-20 19:36
  1. Private Sub CommandButton1_Click()
  2.     On Error Resume Next
  3.    
  4.     Set tar = Cells.Find(What:=TextBox1.Text, After:=Range("A1"), LookIn:=xlFormulas, _
  5.         LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext)
  6.     If Not tar Is Nothing Then
  7.         tar.Activate
  8.         Unload Me
  9.     Else
  10.         MsgBox ("找不到類似字樣")
  11.     End If
  12.    
  13. End Sub
複製代碼

作者: man65boy    時間: 2012-6-20 23:17

回復 2# kimbal

感謝kimbal大大的回答,vba的應用真的比函數頭痛了許多,感謝你!
作者: man65boy    時間: 2012-6-21 07:15     標題: 表單的Label同步執行

請教各位先師們,如何在表單裡的TextBox1輸入數字,在Label1(年.月)跟著顯現加總後的答案,麻煩老師們指導一下,謝謝!

[attach]11455[/attach]
作者: GBKEE    時間: 2012-6-21 07:46

回復 4# man65boy
  1. Dim xlday
  2. Private Sub UserForm_Initialize()
  3.     xlday = Format(Date, "eemm")
  4.     Label1 = xlday
  5. End Sub
  6. Private Sub TextBox1_Change()
  7.    Label1 = IIf(Val(TextBox1) > 0, Val(TextBox1), 0) + Val(xlday)
  8. End Sub
複製代碼

作者: man65boy    時間: 2012-6-21 23:31

本帖最後由 man65boy 於 2012-6-22 01:27 編輯

回復 5# GBKEE


    感謝GBKEE老師的回答,
再請教老師,當表單裡已有別的宣告時,
Private Sub UserForm_Initialize()
    Dim tmpArry()
Set sht1 = Sheets("進貨")
    Set sht2 = Sheets("銷貨")
R = sht1.Range("AS65536").End(xlUp).Row
該如何把以下這段程式納入上面那一段
Dim xlday
Private Sub UserForm_Initialize()
    xlday = Format(Date, "eemm")
    Label1 = xlday
End Sub

小弟投降了,因為有重複的兩段 Private Sub UserForm_Initialize() 麻煩老師指點一下!
作者: GBKEE    時間: 2012-6-22 06:04

回復 6# man65boy
  1. Option Explicit
  2. Dim xlday       '模組頂端宣告變數為此模組的私用變數  僅此模組的程序可引用
  3. Private Sub UserForm_Initialize()
  4.     Dim tmpArry(), sht1 As Worksheet, sht2 As Worksheet, R As Interior
  5.     '如此程序內 Dim 宣告變數的變數,僅此程序可引用,其他程式中無法引用.
  6.     Set sht1 = Sheets("進貨")
  7.     Set sht2 = Sheets("銷貨")
  8.     R = sht1.Range("AS65536").End(xlUp).Row
  9.     xlday = Format(Date, "eemm")
  10.     Label1 = xlday
  11. End Sub
  12. Private Sub TextBox1_Change()
  13.    Label1 = IIf(Val(TextBox1) > 0, Val(TextBox1), 0) + Val(xlday)
  14.    'xlday 這裡可以引用到
  15.    'sht2  這裡不可以引用到
  16. End Sub
複製代碼

作者: man65boy    時間: 2012-6-22 07:14

本帖最後由 man65boy 於 2012-6-22 07:17 編輯

回復 7# GBKEE
謝謝GBKEE大大,程式貼上去了,還是出現"不能指定常數",檔案因涉及商業隱私,無法附上完整版,小弟附上縮小版,希望老師能幫忙解題!
[attach]11458[/attach]

在範例中
xlday = Format(Date, "yyyy/mm/dd")

小弟只想應用加總YYYY
作者: GBKEE    時間: 2012-6-22 07:26

回復 8# man65boy
  1. Dim sht1 As Worksheet
  2. Dim sht2 As Worksheet '放在這裡   模組所有程序都可用
  3. Dim sht3 As Worksheet '放在這裡   模組所有程序都可用
  4. Dim xlday                           '放在這裡   模組所有程序都可用
  5. '--------上面是模組頂端  ---------
  6. Private Sub UserForm_Initialize()
  7. 'Dim xlday  你放在這裡   只有 UserForm_Initialize 這程序可用
  8.     Dim tmpArry()
  9.     Set sht1 = Sheets("進貨")
  10.     Set sht2 = Sheets("銷貨")
  11.     Set sht3 = Sheets("資料")
  12.    R = sht1.Range("AS65536").End(xlUp).Row
  13.     xlday = Format(Date, "yyyy")  '小弟只想應用加總YYYY
  14.     Label23 = xlday   
  15. End Sub
複製代碼

作者: man65boy    時間: 2012-6-22 22:16

回復 9# GBKEE

感謝GBKEE老師的修改指導,再請問老師,
Dim sht1 As Worksheet
Dim sht2 As Worksheet '放在這裡   模組所有程序都可用
Dim sht3 As Worksheet '放在這裡   模組所有程序都可用
Dim xlday                           '放在這裡   模組所有程序都可用

其中的sht1 .s ht2 . sht3 .是指模組嗎?那是否要應用到的活頁都要依序輸入sht4....sht5呢?
再次地謝謝老師。
作者: Hsieh    時間: 2012-6-23 00:04

回復 10# man65boy


    xlday是EXCEL保留字,請以其他字串命名
作者: GBKEE    時間: 2012-6-23 07:58

回復 10# man65boy
"其中的sht1 .s ht2 . sht3 .是指模組嗎?那是否要應用到的活頁都要依序輸入sht4....sht5呢?"
這不是模組是變數: 你指定為活頁簿上的工作表
模組 是VBA 中寫程式碼的地方

[attach]11463[/attach]

回復 11# Hsieh
感謝提醒,是我沒注意的.
作者: man65boy    時間: 2012-6-23 09:42

回復 12# GBKEE


    感謝兩位老師的回答,記下來了~謝謝!!!




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