返回列表 上一主題 發帖

[發問] 請問如何在自訂表單中應用VLOOKUP函數

[發問] 請問如何在自訂表單中應用VLOOKUP函數

請教各位
小弟希望能夠在自訂表單中1跟2的位置
輸入品項  右方就可以自動顯示對應的金額
如附圖所示
請教Label的值應該要怎麼設定?

Label3 = Val(Label1) + Val(Label2)

TOP

回復 2# koo

感謝回覆
補充一下問題
Lebel3的寫法已經確認
如下圖
我希望在左側輸入品項後 右側的Lebel1就顯示出價格
這樣的話應該要怎麼寫!?

TOP

回復 3# minture3

是這樣嗎?
  1. Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
  2. For Each rn In Sheets("工作表1").Range("a2:a4" & Sheets("工作表1").Cells(Rows.Count, "A").End(xlUp).Row)
  3.     If TextBox1.Value = rn Then
  4.         Label1.Caption = Sheets("工作表1").Cells(rn.Row, "b")
  5.         Exit For
  6.     Else
  7.         Label1.Caption = "查無此資料"
  8.     End If
  9. Next
  10. End Sub
複製代碼

TOP

回復 4# lpk187

不好意思
如果我是要把資料放在個人活頁巨集(就是不管開哪個檔案 這個巨集都可以使用的那個)

這樣的話
For Each rn In Sheets("資料庫")這邊的應該怎麼修正??
我剛剛試了一下直接改成個人活頁巨集的那個工作表名稱
但是執行後沒有反應!

感謝!!

TOP

回復 6# minture3

再試試看,以前我沒用過這方式做過,所以也不知對不對,程式和表單及"資料庫"都要放在個人巨集工作簿("PERSONAL.xlsb")中
  1. Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
  2. For Each rn In Workbooks("PERSONAL.xlsb").Sheets("資料庫").Range("a2:a" & Workbooks("PERSONAL.xlsb").Sheets("資料庫").Cells(Rows.Count, "A").End(xlUp).Row)
  3.     If TextBox1.Value = rn Then
  4.         Label1.Caption = Workbooks("PERSONAL.xlsb").Sheets("資料庫").Cells(rn.Row, "b")
  5.         Exit For
  6.     Else
  7.         Label1.Caption = "查無此資料"
  8.     End If
  9. Next
  10. End Sub
複製代碼
  1. Public Sub test()
  2. UserForm1.Show
  3. End Sub
複製代碼

TOP

回復 6# lpk187

感謝回覆 !!
早上抽空試了一下
發現上回的寫法是可行的

不過表單中一定要有一個textbox2
昨天因為我把它拿掉 所以執行了就沒有反應~~
但是一定要開著PERSONAL這個檔案
如果把檔案隱藏了 也會變成沒有辦法執行~!!會出現"ROWS方法失敗"

至於指定Workbooks("PERSONAL.xlsb").Sheets("資料庫")
試了一下會出現"應用程式或物件定義上的錯誤"

TOP

        靜思自在 : 是非當教育,讚美作警惕。
返回列表 上一主題