返回列表 上一主題 發帖

簡單的取代Sheet內的值

簡單的取代Sheet內的值

抱歉 卡關 又來詢問 ,請高手教我一下 麻煩了 謝謝

以下是我的部分code
EQP_FAB = cells(2,18).value '(值是TG)

File1=dir (path & "*.xls")
Workbooks.open  path & File1
set sh = activeworkbook.worksheets(shname)   ' 如以下的ex:

for each word in sh.range(sh.[A1],sh.[F1])
if word = "EQP_ID" Then      (當第一列讀到EQP_ID的時候,EQP_ID的下一列sampl1:TE@123或是sampl2:TF123 要換成TG@123)

CurrentCell= word.address  (想去抓Cell的位址,但這邊不會寫)

end if
next


ex:  兩種檔案,都是要去認 EQP_ID
1.                                                2.
  PDID      EQP_ID    ACTION                    PDID    RE_ID   EQP_ID    ACTION
  xxx         TE@123    xxx                         xxx      xx       TF@123    xxx
  xxx         TE@645    xxx                         xxx      xx       TF@645    xxx
  xxx         TE@124    xxx                         xxx      xx       TF@124    xxx

(往下還有資料 ,只列三筆)

結果:

1.                                                2.
  PDID      EQP_ID    ACTION                    PDID    RE_ID   EQP_ID    ACTION
  xxx         TG@123    xxx                         xxx      xx       TG@123    xxx
  xxx         TG@645    xxx                         xxx      xx       TG@645    xxx
  xxx         TG@124    xxx                         xxx      xx       TG@124    xxx

回復 1# ffntldj


    Cells.Replace "T*@", "TG@", lookat:=xlPart
學海無涯_不恥下問

TOP

本帖最後由 ffntldj 於 2011-12-5 22:52 編輯

回復 2# Hsieh


    謝謝版大! 抱歉明天才能試~謝謝你 每次都要你幫忙~

  請問是加在這裡嘛? 只需要一行? 太神奇了@@ 我想了好久~

  lookat:=xlPart 不太會使用 他是只會往下找 還是整張SHEET都會去改?

  因為怕改到別的資料~ 謝謝

if word = "EQP_ID" Then      (當第一列讀到EQP_ID的時候,EQP_ID的下一列sampl1:TE@123或是sampl2:TF123 要換成TG@123)

這裡

end if

TOP

回復 3# ffntldj
  1. Sub ex()
  2. MyPath = "D:\" '資料目錄
  3. shname = "要找的工作表" '要做取代動作的工作表名稱
  4. fs = Dir(MyPath & "*.xls") '找活頁簿
  5. Do Until fs = ""
  6. With Workbooks.Open(MyPath & fs) '開啟檔案
  7. Set sh = .Worksheets(shname)  '指定要做取代動作的工作表
  8. Set a = sh.Rows(1).Find("EQP_ID").EntireColumn '找到標題的整欄範圍
  9. a.Replace "T*@", "TG@", lookat:=xlPart '在欄位中做取代的工作
  10. .Close 1 '儲存後關閉檔案
  11. End With
  12. fs = Dir '下一個活頁簿
  13. Loop
  14. End Sub
複製代碼
學海無涯_不恥下問

TOP

回復 4# Hsieh


    Set a = sh.Rows(1).Find("EQP_ID").EntireColumn '找到標題的整欄範圍

  有了這行 我又進步了 謝謝!! 非常感謝~

TOP

        靜思自在 : 信心、毅力、勇氣三者具備,則天下沒有做不成的事。
返回列表 上一主題