返回列表 上一主題 發帖

[發問] 關於自動貼上連結至另一個檔案並自動插入超連結

回復 18# lpk187


點擊超連結後   參照路徑錯誤的問題知道哪邊出問題了
ActiveSheet.Hyperlinks.Add Anchor:=Selection, Address:=ThisWorkbook.Path & "\" & ThisWorkbook.Name, SubAddress:=ActiveSheet.Name

SubAddress:=ActiveSheet.Name     '導致業務明細的超連結會讀取業務明細的目前工作頁名稱,  變成 個別客戶明細(超連結)-五月'

TOP

回復 21# lpk187


    不好意思~
Windows("客戶明細-業務專用.xlsm").Hyperlinks.Add Anchor:=Cells(EndRow, "B"), Address:=本檔案的路徑 & ThisWorkbook.Name, SubAddress:=sht變更後的 '這裡的本檔案的路徑則是這個檔案所在的路徑

此欄一直跑出偵錯,但在前一個尚未修正過的程式 這樣的寫法是正常使用呢

TOP

不會啦~是我才不好意思!一直麻煩你
先慢慢測試再理解囉

TOP

Workbooks("客戶明細-業務專用.xlsm").Sheets("五月").Hyperlinks.Add
修改過
Workbooks("客戶明細-業務專用.xlsm").Sheets([Q3]).Hyperlinks.Add
這邊要如何轉成變數呢? 上方都換過但還是無法執行~
還是說日期 = Format([B3], "M""月")
我只要再sheets(日期) 這樣嗎?

TOP

回復 10# lpk187


    請問 Windows("目前所在檔名.xlsm").Activate
可更改為
Windows("ThisWorkbook.Name").Activate 嗎?

TOP

本帖最後由 starry1314 於 2015-5-6 14:39 編輯

回復 29# stillfish00


  不好意思~使用結果沒有反應易沒有跳出偵錯.....
另想問一下
lSourceRow = .Buttons(Application.Caller).TopLeftCell.Row   '被點擊的該按鈕行數
是滑鼠點擊的所在位置的行數嗎?
還是按鈕所在的行數?

TOP

本帖最後由 starry1314 於 2015-5-6 16:59 編輯

回復 31# stillfish00

了解~感謝說明

    請問你用的這組代碼可以試跑成功嗎?我用一直沒有反應,也沒說出錯~不知該從哪找問題

TOP

本帖最後由 starry1314 於 2015-5-6 22:07 編輯

回復 33# stillfish00


恩...原來是寫的太神了!!毫無反應就已經貼完了。。。。

感謝∼

想請問一下你們是怎麼判斷如 Windows("客戶明細-業務專用.xlsm").Activate
要再windows後方加上各種動態或指令,你們是怎麼判斷哪種指令該怎麼表示 如 =  ,() ,"" .[]  或是要讓他讀取動態 如LPK大大再26F所回覆的
A2.若在Q3做清單這也是一個好方法,其變數直指它就可以如:xxx=Range("Q3") 或xxx=[Q3]<<這裡要用中括號(你檔案中的第一個巨集用小括號就不對了),又或是xxx=Cells(3,"Q"),"不是cells(Q3)"

或是有什麼建議的書籍有再講解關於這種的說明呢...書局的書都是範例照表操課 一直跟著做而已.....沒有較詳細講解這種的,對很多指令都一知半解!在這個檔案會用∼再另一個方法的檔案就不會做變通了。。。

TOP

回復 29# stillfish00


請問要怎麼指定sheet呢?因我套用在別的檔案,發現他都是讀取第一個工作表的資料

我想要複製的資料工作表名稱= 收款跟催

TOP

本帖最後由 starry1314 於 2015-5-7 09:53 編輯

回復 35# starry1314

1.
    Range(.Cells(lSourceRow, "A"), .Cells(lSourceRow, "P")).Copy wsTarget.Cells(lTargetRow, "B") '複製貼上該行資料
修改為
Range(.Cells(lSourceRow, "收款跟催!A"), .Cells(lSourceRow, "P")).Copy wsTarget.Cells(lTargetRow, "收款跟催!B") '複製貼上該行資料

無法執行..

2.
Worksheets("收款跟催").Range(.Cells(lSourceRow, "A"), .Cells(lSourceRow, "P")).Copy wsTarget.Cells(lTargetRow, "B") '複製貼上該行資料
還是第一個工作表的資料

TOP

        靜思自在 : 發脾氣是短暫的發瘋。
返回列表 上一主題