返回列表 上一主題 發帖

[發問] VBA 填寫表格及另存新檔

回復 18# n7822123
Dim Arr, RepNo$

Sub 設下拉選單()
Application.ScreenUpdating = False
On Error GoTo 恢復
Set D = CreateObject("Scripting.Dictionary")
Arr = ['Receiving DATA'!A4].CurrentRegion
For R = 2 To UBound(Arr)
  RepNo = Arr(R, 13)
  If D(RepNo) = 0 Then D(RepNo) = R
Next R
For Each Key In D.keys: 批號串 = 批號串 & "," & Key: Next Key
With ['Receiving Report'!J6].Validation
  .Delete
  .Add Type:=xlValidateList, Operator:=xlBetween, Formula1:=批號串
End With
Exit Sub
恢復: 開啟觸發事件
End Sub
請問這個批號串是出自那裡,因為我試把那數字組轉成別的組合,發現英文+數字的組合可行,像apr 0001, 但如若只0001或是 aaa-01/12-0001 這種便不行,這個我嘗試入格式換掉[批號串]﹐也是不行,是否這種語法本來就不可以變改的呢?

TOP

回復 21# lovenice831


1) 先確定你的編碼來源是[文字]還是[數值]格式
2) 若是[文字]格式, 那麼下拉清單那一格也須設定為[文字]格式,
    否則下拉選取後, 0001 變成 1 , 或 801E10 或 2-12-3 也會變成不一樣(變成科學記號或日期).
    而且, 0001 應該是實際四個字元組成, 而不是輸入1, 但格式設成 "0000”.
3) 純數字的, 更要注意格式, 1234 及 "1234",  字典檔會看做不一樣, 用  IF 1234 = "1234 也是 "FALSE",
    當然, 編號也儘量不要含有空白字元, 手動輸入時容易誤打!!!
 
 
 

TOP

本帖最後由 n7822123 於 2021-1-8 12:17 編輯

回復 21# lovenice831

我已經限定  RepNo 是 字串格式了~~

Dim Arr, RepNo$

Sub 設下拉選單()
Application.ScreenUpdating = False
On Error GoTo 恢復
Set D = CreateObject("Scripting.Dictionary")
Arr = ['Receiving DATA'!A4].CurrentRegion
For R = 2 To UBound(Arr)
  RepNo = Arr(R, 13)
  If D(RepNo) = 0 Then D(RepNo) = R
Next R]
程式是依需求寫的,需求表達不清楚
或者沒有上傳附件,愛莫能助

TOP

謝謝兩位指教,我再試試

TOP

回復 23# n7822123


我試著把兩邊都文字﹐但都行不了,
如果照檈主所講,下拉清單不設限制,那能用 / 嗎?
有一份差不多的報表,但那Reference No: 的排序是用這個格式: AAA-01/21-001
中間插了[/] 便用不到了

TOP

回復 25# lovenice831


AAA-01/21-001  當下拉清單是沒問題,
但若要依此存成檔案名稱是行不通的, 含"/"違反命名規則,
若有其他問題, 應上傳檔案, 才能判斷是哪一環節???

TOP

另案參考:
Receiving Data_01.rar (49.94 KB)

另存檔部份沒做~~

TOP

回復 27# 准提部林


    不好意思,我一直以為自己回覆你了,原來我沒回,謝謝你的幫忙 ^^"

TOP

回復  lovenice831

感覺跟我想的差不多吧!?~~ 你無法收附件?

我貼程式給你,你執行"收貨報表"即可~後 ...
n7822123 發表於 2020-12-31 02:18



    印象中~ 相同功能我之前有發過一次 完整版的範例... 只是要翻舊文章 找看看

    該功能是 填寫特定資料後  手動點擊儲存 即可根據 名稱 另存

  多做多想多學習,少看少錯少迷途

  多做=多多練習,多多編寫。
  多想=想想為什麼人家程式要那樣寫,如果換成自己,又會怎寫。
  多學習=學習人家的發問並解答,學習人家的寫法

  少看=只看不做也枉然

TOP

回復 29# mark15jill


  那我先找找看,謝謝你

TOP

        靜思自在 : 一個人不怕錯,就怕不改過,改過並不難。
返回列表 上一主題