[算表] 用巨集找到字串並回傳接在後面的字串?

看板Office作者時間12年前 (2014/04/07 23:03), 12年前編輯推噓0(0021)
留言21則, 2人參與, 最新討論串1/1
軟體:Excel 2007/2010 現在我有兩個工作表 "table" 和 "data" 在data裡有某幾個儲存格的資料型態是: [Name]:ZXC, [parm1_val]:11, [parm2_val]:24.1 ←←←這全部都在一個儲存格裡 如果我想在data工作表找到 Name為ZXC的欄位 並回傳其parm2_val到table工作表 (即回傳24.1) 應該要怎麼寫巨集才對呢? 我目前是寫到如下: Dim p as Integer For i = 100 to 1 step -1 Cells.Find(What:="ZXC", After:=ActiveCell, LookIn:=xlFormulas, LookAt:= _ xlPart, SearchOrder:=xlByRows, SearchDirection:=xlprevious, MatchCase:=False _ , MatchByte:=False, SearchFormat:=False).Activate p = Worksheetfunction.search("parm2_val",activecell) 想法是先用尋找功能去找到有ZXC的儲存格,再用search函數找到 parm2_val的位置,最後再用p去尋找parm2_val的值 可是現在就卡在怎麼利用p來回傳後面的數值了… 請問各位大大接下來要怎麼寫,或者是有更好的寫法嗎? -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 61.230.55.238 ※ 文章網址: http://www.ptt.cc/bbs/Office/M.1396882988.A.3C7.html

04/07 23:27, , 1F
dim Rng as Range
04/07 23:27, 1F

04/07 23:27, , 2F
set rng = cells.find("ZXC",,xlvalues,1)
04/07 23:27, 2F

04/07 23:28, , 3F
p= rng.offset(,2)
04/07 23:28, 3F

04/07 23:28, , 4F
類似這樣;如果有檔提供的話就更好了
04/07 23:28, 4F

04/07 23:29, , 5F
或是不用巨集而用函數vlookup也許也有可能達成
04/07 23:29, 5F

04/07 23:57, , 6F
soyoso大,我這資料是很多txt檔用巨集自動匯入的
04/07 23:57, 6F

04/07 23:58, , 7F
所以想說一整包用巨集做了
04/07 23:58, 7F

04/07 23:59, , 8F
然後麻煩的是 資料都是擠在第一欄
04/07 23:59, 8F

04/08 00:00, , 9F
所以應該不能用offest來達成
04/08 00:00, 9F

04/08 00:01, , 10F
我改一下文章好了 不然看起來很容易被誤會意思XD
04/08 00:01, 10F
※ 編輯: semurderer (61.230.55.238), 04/08/2014 00:03:16

04/08 00:04, , 11F
那再匯入時以逗號、冒號剖析呢?
04/08 00:04, 11F

04/08 00:15, , 12F
用冒號當分隔來剖析 似乎可行 我來試試 謝謝啦:D
04/08 00:15, 12F

04/08 00:16, , 13F
http://goo.gl/19ocmz 順便付上我文中所說的檔案形式
04/08 00:16, 13F

04/08 00:17, , 14F
原檔案就不能從公司帶出來了:P
04/08 00:17, 14F

04/08 01:30, , 15F
04/08 01:30, 15F

04/08 22:07, , 16F
soyoso大,我有個問題… Set dataSht=Sheets("data")和
04/08 22:07, 16F

04/08 22:07, , 17F
Set dataSht=worksheet("data") 差在哪裡呢?
04/08 22:07, 17F

04/08 22:51, , 18F
定義寫法不同,一樣都是指定data這個工作表到datasht這個變
04/08 22:51, 18F

04/08 22:52, , 19F
數內;依這個檔案來說,另有Set dataSht = Sheet3
04/08 22:52, 19F

04/08 22:52, , 20F
另外set datasht = worksheets("data") 上面是worksheet要
04/08 22:52, 20F

04/08 22:53, , 21F
加s喔
04/08 22:53, 21F
文章代碼(AID): #1JGhuiF7 (Office)
文章代碼(AID): #1JGhuiF7 (Office)