返回列表 上一主題 發帖

[發問] 如何自行判斷並填入

本帖最後由 j88141 於 2014-10-27 22:08 編輯

回復 9# GBKEE


    GBKEE大:

如果我想要把檔案二的"地區"  改成輸入 檔案一的 "符號"
也就是從E3開始算起的A、B、C等
檔案一                                         檔案二


請問GBKEE大該怎麼修改?
謝謝~~~
檔案1+2(new).rar (33.75 KB)

TOP

回復 11# j88141
  1. 如果我想要把檔案二的"地區"  改成輸入 檔案一的 "符號"
  2. 也就是從E3開始算起的A、B、C等
複製代碼
附檔上 檔案二的"符號" 在哪裡判斷??
感恩的心......(在麻辣家族討論區.用心學習會有進步的)
但資源無限,後援有限,  一天1元的贊助,人人有能力.

TOP

回復 12# GBKEE


    原本檔案二只要符合  檔案一的  " 星期 & 編號 & 地區  " 項目
    檔案一就會自動判斷填入檔案二中

    現在想要把檔案二自動輸入完畢後,在檔案二的 "地區"可以自動轉換成 檔案一的"符號"

TOP

回復 13# j88141

多加一字典物件
  1. Dim D(1 To 2) As Object
  2. Private Sub Ex()  'Excel檔案(檔案2),加入一個CommandButton 的程式碼
  3.     Dim SH As Worksheet, Rng As Range, i As Integer
  4.     Dictionary_Ex               '執行這個程序
  5.     For Each SH In Sheets       'Sheets :Excel檔案(檔案2)中的工作表集合
  6.         Set Rng = SH.[A3]       '編號
  7.         Do While Rng <> ""
  8.             For i = 4 To SH.UsedRange.Columns.Count
  9.                 If D(1).exists(SH.Cells(2, i) & Rng & SH.[A1]) Then '字典物件中有這 key 值
  10.                     'key 值-> 星期 & 編號 & 地名
  11.                     '星期: Sh.Cells(2,i)
  12.                     '編號: Rng
  13.                     '地名" SH.[A1]
  14.                     D(1)(SH.Cells(2, i) & Rng & SH.[A1]).Copy Rng.Cells(1, i).Resize(4)
  15.                     Rng.Cells(1, i).Range("a3") = D(2)(SH.Cells(2, i) & Rng & SH.[A1])
  16.                 Else
  17.                     Rng.Cells(1, i).Resize(4) = ""
  18.                 End If
  19.             Next
  20.             Set Rng = Rng.End(xlDown) '下一個星期的位置
  21.         Loop
  22.     Next
  23. End Sub
  24. Private Sub Dictionary_Ex()
  25.     Dim Rng(1 To 3) As Range, i As Integer, a
  26.     Set D(1) = CreateObject("SCRIPTING.DICTIONARY")
  27.     Set D(2) = CreateObject("SCRIPTING.DICTIONARY")
  28.     With Workbooks("檔案1.xlsx").Sheets("工作表1")   '原始資料檔案必須是開啟的
  29.         Set Rng(1) = .[A4]                          '星期
  30.         Do While Rng(1) <> ""
  31.             Set Rng(2) = Rng(1).Offset(, 1)             '編號
  32.             Do While Not Intersect(Rng(1).MergeArea, Rng(2).Offset(, -1)) Is Nothing
  33.             
  34.                 For i = 4 To .UsedRange.Columns.Count
  35.                   If Rng(2).Cells(1, i) <> "" Then     '
  36.                         Set D(1)(Rng(1) & Rng(2) & Rng(2).Cells(3, i)) = Rng(2).Cells(1, i).Resize(4)
  37.                         D(2)(Rng(1) & Rng(2) & Rng(2).Cells(3, i)) = .Cells(3, Rng(2).Cells(1, i).Column)
  38.                     End If
  39.                 Next
  40.                 Set Rng(2) = Rng(2).End(xlDown)         '下一個編號的位置
  41.             Loop
  42.             Set Rng(1) = Rng(1).End(xlDown)             '下一個星期的位置
  43.        Loop
  44.      End With
  45. End Sub
複製代碼
感恩的心......(在麻辣家族討論區.用心學習會有進步的)
但資源無限,後援有限,  一天1元的贊助,人人有能力.

TOP

TKS~

TOP

回復 14# GBKEE

GBKEE大
我發現一個問題
當檔案一要複製到檔案二中 時
如果 檔案一 同排有很多資料
但檔案二也只會選擇其中一個作複製

請問有沒有辦法 當檔案一同排資料多的時候,  檔案二可以全部複製到同一儲存格?


   

TOP

回復 16# j88141

請問有沒有辦法 當檔案一同排資料多的時候,  檔案二可以全部複製到同一儲存格
那要看你檔案二的工作頁儲存格的編排!!!
感恩的心......(在麻辣家族討論區.用心學習會有進步的)
但資源無限,後援有限,  一天1元的贊助,人人有能力.

TOP

        靜思自在 : 君子為目標,小人為目的。
返回列表 上一主題