返回列表 上一主題 發帖

[發問] 將資料自動複製到,目前點選的所在頁面並自動選擇最後一行空白處貼上

For I = 2 To Sheets.Count
     ActiveSheet.Hyperlinks.Add Anchor:=Range("a" & I), Address:="", SubAddress:= _
        Worksheets(I).Name & "!A1", TextToDisplay:=Sheets(I).Name
Next

有找到這種寫法.但不知道該如何整合進來,雖然會有超連結成功 但不知道該怎麼調整 在業務那邊會自動抓我SHEET1的連接貼過來,但在紀錄表那卻只會抓一個連結過來
可以麻煩幫我看看嗎|
客戶明細自動化.rar (31.31 KB)

TOP

ActiveSheet.Hyperlinks.Add Anchor:=Range("A1"), Address:="", SubAddress:=Worksheets(I).Name & "!A1", TextToDisplay:=Sheets(I).Name

白話文:在這個頁面下增加一超連結, Anchor代表是哪一個儲存格要加入超連結,Address代表要連結到哪一個檔案〈意思是別的檔案名稱,例如address:="C:\ABC\DEF.xls"),SubAddress代表是那個檔案內的哪一個Sheet的儲存格位置〈根據你的例子,他剛好是在同一個檔案內,所以一來Address是空白,二來他是聯結到那個Sheet的儲存格A1,所以當你點那個連結時候,會直接跑到那個Sheet的A1位置〉,最後TexttoDisplay是說你希望那個儲存格內的聯結名稱,一般預設值是"Link",根據你的例子是希望顯示連結Sheet的名稱

根據以上說明,應該就知道如何擴充了吧

TOP

回復 9# starry1314

Workbooks("紀錄表 ").Sheets("客戶明細").Rows(2).Copy

若您想複製目前作業中的活頁簿,可以直接將前方去除即可=>Sheets("客戶明細").Rows(2).Copy

插入超連結的方式,若想在目前作業中的分頁插入超連結,參考下方方式,若想指定分頁,更改前方的ActiveSheet 為 sheets("XX")即可
    ActiveSheet.Hyperlinks.Add Anchor:=Range("B6"), Address:="", SubAddress:= _
        "項目設定!A1", TextToDisplay:="項目設定!A1"
PKKO

TOP

回復 12# tyrone123456


    弄了一天還是弄不好.....連結會變成設在固定儲存格,不然就是無法參照的連結
1.我想做的是 右邊的EXCEL資料自動複製到左方EXCEL,並自動貼至有資料的最後一列,並且自動插入可連結至右邊EXCEL檔案的連結

(但因右邊EXCEL,會有無數個不同檔名)   <<所以想問說怎麼不均檔名,
因我照PKKO講的將Workbooks("紀錄表 ")拿掉就一直說偵錯不知道哪邊寫錯了


TOP

回復 13# PKKO

還是沒辦法說,直接拿掉剩Sheets("客戶明細").Rows(2).Copy 會一直跑偵錯,
    且我想寫成巨集存在的EXCEL裡面的指定SHEET自動複製到我目前畫面上的頁面並自動貼上超聯結,不知有辦法嗎?
現在算完成一半了,已經可寫成複製連結到我所要的EXCEL裡面,但都是必須有一個EXCEL要指定檔名

TOP

你應該已經會寫資料貼到最後一筆的VBA程式,所以你也應該知道如何取得最後一筆的行位,接下來只要在該行狀態下,在最後一欄的儲存格將上述的超連結路徑加入,就完成了
靜下心,再思考ㄧ下,就可以寫出VBA程式了

TOP

回復 16# tyrone123456

好的~我再試試,如何將貼入超連結的寫法加入

TOP

回復 16# tyrone123456


   想請問一下
ActiveSheet.Hyperlinks.Add Anchor:=Range("A1"), Address:="", SubAddress:=Worksheets(I).Name & "!A1", TextToDisplay:=Sheets(I).Name
裡面的(I) 代表的是?

TOP

就是Sheet的編號,因為你有使用For I = 2 to sheets.count,所以Sheets(I).name代表第I個Sheet的名字

For I = 2 To Sheets.Count
     ActiveSheet.Hyperlinks.Add Anchor:=Range("a" & I), Address:="", SubAddress:= _
        Worksheets(I).Name & "!A1", TextToDisplay:=Sheets(I).Name
Next

TOP

回復 19# tyrone123456


    Sub test()


    Workbooks("紀錄表-基礎A").Sheets("客戶明細").Rows(2).Copy
    EndRow = ActiveSheet.UsedRange.Rows.Count + 1 '所有使用中的列數+1
    Rows(EndRow).PasteSpecial Paste:=xlPasteValues
For I = 2 To Sheets.Count
     ActiveSheet.Hyperlinks.Add Anchor:=Range("a" & I), Address:="", SubAddress:= _
        Worksheets(I).Name & "!A1", TextToDisplay:=Sheets(I).Name
Next

End Sub

1.目前這樣在業務那個檔案會複製第一個SHEET的超連結過來到SHEET2的第一欄
2.如果再基礎那個那個檔案執行巨集的話會變成A2的超連結至A1.
可以在麻煩教我怎麼解決嗎|

TOP

        靜思自在 : 【做人的開始】每一天都是故人的開始,每一個時刻都是自己的警惕。
返回列表 上一主題