![]() ![]() ![]() ![]() |
|||||
|
|||||
樓主 Marco ![]()
![]() |
IF RIGHT(vdata, 4) = "1234" Then '當條碼從右邊算來四碼是1234 Set objExcel = CreateObject("Excel.Application")objExcel.visible = true Set objWorkbook = objExcel.Workbooks.Open ("http://www.yahoo.com.tw/Marco_share/ABC.xlsx") '(到以上為止,當讀取到1234的條碼都可以開啟ABC.xlsx) objWorkbook.Sheets(1).Activate() '(不確定這段是否是多餘的) FindCell = (vdata) '(找不到ABC.xlsx裡面的1234) objWorkbook.ActiveSheet.Range("A1").Hyperlinks(1).Follow '(這段是有個好心人建議我這樣寫,但我始終不明白) End if |
1樓
最有價值解答
香帥 ![]() |
請參考
http://www.blueshop.com.tw/board/show.asp?subcde=BRD20131226151819IWW&fumcde=BRD20131226151819IWW 我ㄧ樓的解答 objWorkbook.Sheets(1).Activate() '(不確定這段是否是多餘的)最好指定名稱Sheets("工作表名稱"),不要亂猜
本篇文章回覆於2015-02-16 13:12
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔-- |
2樓
作者回應
Marco ![]() |
香帥,
謝謝,我已看完建議我去參考的連結,但小弟我資質魯鈍,仍然不明白意思。我現在可以做到讀到我要的條碼就開啟我指定的檔案,但是不會搜尋與開啟連結 能否幫我簡化搜尋與開啟連結的寫法呢? 非常感謝。 我不是要用SheetA & SheetB的A項去比。若有相同就顯示位置(這個似乎用vlook可以達到)。
本篇文章回覆於2015-02-16 14:05
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔-- |
3樓 |
請至我server下載
http://ap.a168a.com/test/basfindlink.zip 執行findLInk()巨集,就會找到匹配1234字串並開啟連結,參考其程式碼去修改為符合您的。
本篇文章回覆於2015-02-17 00:15
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔-- |
4樓
作者回應
Marco ![]() |
香帥,
不好意思,我要把下列你寫的B語法想辦法加入到A語法內,但是我光是加入Dim i As long & Dim w As Worksheet 這兩個就會出現錯誤訊息。 我先敘述我想的流程,您參考看看是否可行,我目前卡在找尋字串以及開啟連結,我有把這段"If w.Cells(i, 2).Value = "1234" Then w.Cells(2, 3).Hyperlinks(1).Follow" 加入到語法內,但是因為dim i As long & Dim w As Worksheet 錯誤所以無法使用。 您能幫我用A語法再給我ㄧ些提示嗎? 感謝。 流程: 1. 當條碼機讀取到條碼1234 '(PASS) 2. 開啟ABC.xlsx '(PASS) 3. 在Sheet1 找尋字串1234 '(FAIL) 4. 開啟1234的超連結 '(FAIL) '-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA IF RIGHT(vdata, 4) = "1234" Then Set objExcel = CreateObject("Excel.Application") objExcel.visible = true Set objWorkbook = objExcel.Workbooks.Open ("http://www.yahoo.com.tw/Marco_share/ABC.xlsx") objWorkbook.Sheets(1).Activate() FindCell = (1234) '我是想找1234但是沒功能 '-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA '-BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB Sub findLInk() Dim i As Long Dim w As Worksheet Set w = Sheets("工作表1") For i = 1 To w.Range("A65536").End(xlUp).Row If w.Cells(i, 2).Value = "1234" Then w.Cells(2, 3).Hyperlinks(1).Follow Exit For End If Next i End Sub '-BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
本篇文章回覆於2015-02-17 10:25
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔-- |
5樓 |
w.Cells(2, 3).Hyperlinks(1).Follow
請更正為 w.Cells(i, 3).Hyperlinks(1).Follow If w.Cells(i, 2).Value = "1234" Then 會打開google "1234" 可改為 "5678" 會打開yahoo 以此類推 以下為工作表1的資料 b 5678 http://yahoo.com.tw a 1234 http://www.google.com a 5757 http://ap.a168a.com
本篇文章回覆於2015-02-17 10:40
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔-- |
6樓 |
4. 開啟1234的超連結 '(FAIL)
您要先確定您的超連結網址放在哪裡呢? 以我的例子是放在C欄位因此是CELLS(i,3)
本篇文章回覆於2015-02-17 10:44
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔-- |
7樓
作者回應
Marco ![]() |
香帥,
我大概知道你要我做什麼,但是我沒有這個Excel file的權限,所以我換個問題。 請問在Excel file內的Sheet1內搜尋1234的語法是什麼? 搜尋到1234,開啟這個超連結的語法是什麼? 謝謝。
本篇文章回覆於2015-02-17 10:55
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔-- |
8樓 |
開啟這個超連結的語法是什麼?
以下就是 w.Cells(i, 3).Hyperlinks(1).Follow 另外一種要控制資料 請參考 http://forum.twbts.com/viewthread.php?tid=6453 四樓的解答 該url可由原有存放位置去存取打開 至於搜尋如一樓的find,或5樓迴圈自己判斷
本篇文章回覆於2015-02-17 11:22
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔-- |
9樓
作者回應
Marco ![]() |
香帥,
謝謝,但我還是搞不定,我等年後再來想辦法,感謝你。
本篇文章回覆於2015-02-17 12:40
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔-- |
回覆 |
如要回應,請先登入. |