返回列表 上一主題 發帖

不好意思 新手又來請教 資料比對問題 麻煩各位了

vba 比對資料問題

不好意思 小弟這問題已經困擾很久 實在想不出來 所以上來求救 ,謝謝大家撥時間幫我看

有兩個excel檔,如附件

book1裡面的c sheet 是我想要建立一個button的地方,按下去之後能夠做以下動作

目的是希望能夠把book2 (b sheet) 裡面的資料 抓到book1的 (a sheet ),

也就是把顏色標出來的地方book2.b.sheet,COPY到book1.a.sheet

附檔的顏色是我後來加上去的,只是為了方便描述 ,

part_id 填完了往右邊儲存格shift一位 依此類推,

ope_no只需抓後三碼 前後需要固定用(),用,號隔開,每個數字都要有 ' '

內容已經簡化,實際上的table資料蠻多,不單只是兩筆, 我認為要用for迴圈 但還很嫩 不太熟 請教各位了

以上  感激不盡
question.rar (4.6 KB)

TOP

請問板大 不好意思 再請教一個問題 這樣的需求我可以參考書籍中的哪些function ? 謝謝

TOP

板大你好~adef 只是我假設有其他的欄位已經在book1裡面,在book1中主要是去看ope_no 跟part_id 這兩個儲存格右手邊的資料(parit-id---->12345, ope_no ---> 333 444 555 777),這些資料是從book2裡面的b sheet來的,只是在book2 copy過來之後 在book1要做一些修改 ,ope_no 就是要變為 ('333','444','555','777')加上括弧,逗號和分號
partid 則是如果在book2裡面有一個以上的part_id出現時 ,在填入book1的時後,要變成  part id  12345   5678 (5678要填在12345旁邊那個儲存格)      

不知道這樣有清楚嗎? 謝謝你 我也會自己在試著寫~

TOP

@超級版主   謝謝你 我在研究一下你的寫法  
@版主    抱歉 我在描述清楚一點 謝謝

TOP

謝謝兩位版主, code我已經看完了也看懂了,也自己試著做了一些修改 非常感謝
有兩個問題想請教
第一個問題就是 以下這段code為什麼沒有對應的end if? 是不需要嗎?
If a = "part_id" Then mystr = a.Offset(, 1).Text
第二個問題是
這個code主要是把part_id 可以跟 ope_no去做對應 ,如下表示
part_id                   y                   z
                   ('356','456')        ('556')
如果我想改成
part_id                   y                              z
                   ('356','456','556')      
應該是修改以下這一段code,試了一下午,可否再教我一下 感激不盡
If d(mystr) = "" Then
     d(mystr) = "'" & Right(a.Offset(, 1), 3) & "'"
      Else
      d(mystr) = d(mystr) & ",'" & Right(a.Offset(, 1), 3) & "'"
     End If

TOP

謝謝版主你熱心的回覆 真的很感謝

有問題想請教 上面這各code的mystr 不用定義嘛?? 不用用到Dictionary了?這樣寫是定義mystr是矩陣的意思嘛?

我應該是不分part id 把ope_no寫進去儲存格裡沒錯
但是part_id 是要分儲存格的 如下面 y z 這樣
part_id                   y                      z            
                       ('356','456','556')      

我會好好努力的 謝謝

TOP

to 超級版主 下面的那個功能我寫出來了!! 感謝 那個mystr不用定義那個問題在麻煩你教我一下 謝謝

TOP

了解 謝謝你 目前已用這個架構去建立我想要的功能

另外跟你請問一個問題 如果我想要把輸入改成可以選擇檔案

是不是用application.getopenfilename

試了一下 在 With .Sheets("b") 會有問題

感激不盡

TOP

回復 13# ffntldj
抱歉沒說清楚  應是以下這段 改成選擇檔案
With Workbooks.Open '("D:\工程師送件範例.xls") '檔案路徑自行修改

TOP

本帖最後由 ffntldj 於 2011-7-22 23:18 編輯

回復 15# Hsieh

我寫出來了~~~ 謝謝 程式碼稍後附上

如下

myfile = workbook.application.getopenfilename ("excel文件(*.xls),*.xls")
with workbooks.open(myfile)

就可以用滑鼠點檔案了

感謝版主~

TOP

        靜思自在 : 看別人不順眼,是自己修養不夠。
返回列表 上一主題