標題:
簡單的取代Sheet內的值
[打印本頁]
作者:
ffntldj
時間:
2011-12-5 20:16
標題:
簡單的取代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
作者:
Hsieh
時間:
2011-12-5 22:39
回復
1#
ffntldj
Cells.Replace "T*@", "TG@", lookat:=xlPart
作者:
ffntldj
時間:
2011-12-5 22:49
本帖最後由 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
作者:
Hsieh
時間:
2011-12-5 23:19
回復
3#
ffntldj
Sub ex()
MyPath = "D:\" '資料目錄
shname = "要找的工作表" '要做取代動作的工作表名稱
fs = Dir(MyPath & "*.xls") '找活頁簿
Do Until fs = ""
With Workbooks.Open(MyPath & fs) '開啟檔案
Set sh = .Worksheets(shname) '指定要做取代動作的工作表
Set a = sh.Rows(1).Find("EQP_ID").EntireColumn '找到標題的整欄範圍
a.Replace "T*@", "TG@", lookat:=xlPart '在欄位中做取代的工作
.Close 1 '儲存後關閉檔案
End With
fs = Dir '下一個活頁簿
Loop
End Sub
複製代碼
作者:
ffntldj
時間:
2011-12-5 23:49
回復
4#
Hsieh
Set a = sh.Rows(1).Find("EQP_ID").EntireColumn '找到標題的整欄範圍
有了這行 我又進步了 謝謝!! 非常感謝~
歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)