返回列表 上一主題 發帖

Vlookup改為 vba 下拉式 連動

回復 8# owen06


    大大:
  
    有達到我要的功能
   
     但是,新增 序號 103007 開發金  禮盒 .....表單 卻 無法顯示出來,  下拉式 範圍 L2:L500
     另外,統計表 中 序號 自動排列 可以 用 SHEET3儲存
     成為
        序號         公司名稱      紀 念品  ........       進貨     ..  的總清單
     103001      ****             ****
     103002     ****             *****


     謝謝

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

owen

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

回復 12# owen06
感謝大大非常詳細的說明, 試過, 也了解, 謝謝!!

TOP

回復 13# owen06


    大大 你好:
    當我 在 Sheet1 中 輸入      
     103013  聯電  玩偶     
     可以  自動 補到         L              M                   N 
                                    序號        公司名稱         紀念品
                                    103001         ***               *****
                                           ..      
                                           ..
                                    103013         聯電              玩偶      ( 紅色位置)

      原本的 方式是        L              M                   N             都是 先 輸入好的   清單
                                    序號        公司名稱         紀念品


     如果   直接  輸入  新的 ,自動補到 清單中

     另外,     差額 : 是指     曉陽交單 減  曉陽進貨    (如何用 VBA 表式 計算)

     統計表  的 想法是
     有 輸入 的     序號        公司名稱         紀念品      .......等 才顯示出來
     綠色 的 不要 顯示

    謝謝

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

owen

TOP

本帖最後由 owen9399 於 2014-3-5 23:24 編輯

回復 13# owen06


    DEAR 大大 :
   
    昨天的範例 不用改了

    我做新的 , 方法 和之前相似
    增加 日期 與 股數 等 項目 輸入 , 另外  
    序號    公司名稱   紀念品  移到  
      p              Q               R
    下拉式 無法 連動,增加 到   序號  1000筆
    總清單   與    年度報表   
     如 範本 所示
   
   程式 未完成
    謝謝

   未何 下拉式 的 DATA 改 位置 就無法 連動

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

owen

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

回復 18# owen06


    大大 你好:
    我將 SHEET1 用 總清單 方式 修改 只出現 前 4項 複製過去  ,其它 無法做出

    另外,年度報表 如何用 VBA 求出 ,不要 在儲存格 用函數 顯示出
   
   謝謝 指導

103下拉式方式輸入0306(測試).rar (20.91 KB)

owen

TOP

回復 20# apao2000


    對 EXCEL  vba 不懂   可以問 版大或各位高手
大家都好棒
owen

TOP

        靜思自在 : 話多不如話少,話少不如話好。
返回列表 上一主題