返回列表 上一主題 發帖

Vlookup改為 vba 下拉式 連動

回復 1# owen9399


  同是天涯owen人,這是我的笨方法,請參考看看。

103下拉式方式輸入0302.rar (11.87 KB)

TOP

回復 4# owen9399


需要再增加的功能可以說明詳細一點嗎?  

點輸入,裡面的進貨、出貨、交單是要手key還是連動?
點下清除鍵,是要把哪邊的內容清除?
統計表的統計總和是要依序號類別分類還是全部?要統計的是什麼?

TOP

回復 7# owen9399


    大概是這樣的概念,
    先用下拉式選單選擇好序號,然後按enter,就會直接跳到"台北出貨"欄,然後輸入數字後,按enter就跳下一格繼續輸入
    最後會跳到"輸入"鍵上,就直接按enter,然後就會把內容key到工作表上並把內容清除。
    你試試看吧~

103下拉式方式輸入0304.rar (17.85 KB)

TOP

可以順便請教一下版上的大大們,在userform裡,如何讓他在按下『輸入』鍵之後,指標直接跳回到第一格『序號』欄裡,因為我指令寫combobox1.select 行不通…
小弟剛接觸userform而已,還有很多不懂的地方,煩請賜教,謝謝~

TOP

回復 10# yen956
    其實很簡單呀,你在工作表裡,按ctrl+上、下、左、右鍵去動看看,就很清楚明暸了
    end(xldown)=ctrl+下
    end(xlup))=ctrl+上
    end(xltoright))=ctrl+右
    end(xltoleft))=ctrl+左
    然後你vba模式裡按f8,去一步一步執行,就能明白那些程式語言的代表意義是什麼了。
   
    另外如果是要在現有資料最後一列的下一列空白格新增資料,比較會建議用[a65536].end(xlup).offset(1,0).select
    因為你如果是用[a1].end(xldown).select,怕中間如果資料若是不連續的有空白格,他就不會跳到最後一筆資料,
    而是跳到中間空白格的上一列,就會產生判斷錯誤的情形,
    用[a65536].end(xlup).offset(1,0).select,就一定會跳到該欄資料的最後一筆的下一空白格。
    你先用ctrl+方向鍵去試看看吧。

TOP

回復 11# owen9399


    因為我的公式裡
TextBox1 = Application.VLookup([iv65536], Range("data"), 2, False)
TextBox2 = Application.VLookup([iv65536], Range("data"), 3, False)

這二行都是要用vlookup去尋找「data」這個"定義名稱"的範圍內容,而我之前只將他定義為L2:N7,
所以你之後再增加內容,但是DATA這個定義的範圍並沒有去修改,所以他就抓不到東西囉,我已經幫你改為L2:N500了
若你之後愈加愈多,你再自己去定義名稱裡面修改範圍吧。
另外我幫你修改了一下
  1. Private Sub UserForm_Initialize()
  2. ComboBox1.RowSource = Range("L2", Range("L65536").End(xlUp)).Address     '下拉式
  3. End Sub
複製代碼
這樣子你的下拉式選單會自動選定合適的範圍,才不會預設500格,然後下面空那麼多格,麻煩。

103下拉式方式輸入0304(測試).rar (206.95 KB)

TOP

本帖最後由 owen06 於 2014-3-5 23:49 編輯

回復 16# owen9399

如何修改定義名稱的範圍:http://office.microsoft.com/zh-tw/excel-help/HP005199063.aspx
當初data的定義範圍是L:N,你改成P:R,但是沒去修改data的內容,所以抓不到資料。

另外你在userform設計模式裡,去點各個輸入格的時候,看他的屬性裡,『性質分類』有一個『tabindex』,
他的數字代表按enter後,會跳的順序,你新增了三個輸入格,我幫你把他的順序改好了,
只要輸入完內容後,按enter就接著跳下一格直到『輸入』為止。
有其他問題再提出來一起討論吧。

103下拉式方式輸入0305(測試)2.rar (20.21 KB)

TOP

本帖最後由 owen06 於 2014-3-6 12:32 編輯

關於之前問的,在資料key完按下『輸入』後,如何讓游標跳回『序號』那欄,
終於找到答案了,只要在最後輸入:combobox1.SetFocus
游標就會跳回『序號』囉~

TOP

回復 21# owen9399


試試吧

103下拉式方式輸入0306.rar (21.87 KB)

TOP

回復 24# owen9399

103下拉式方式輸入0306.rar (18.77 KB)

TOP

        靜思自在 : 時時好心就是時時好日。
返回列表 上一主題