返回列表 上一主題 發帖

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

回復 16# tyrone123456

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

TOP

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

TOP

回復 13# PKKO

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

TOP

回復 12# tyrone123456


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

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


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

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

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

目前寫法
Sub test()
    Workbooks("紀錄表 ").Sheets("客戶明細").Rows(2).Copy
    EndRow = ActiveSheet.UsedRange.Rows.Count + 1 '所有使用中的列數+1
    Rows(EndRow).PasteSpecial Paste:=xlPasteValues
    ActiveSheet.Paste Link:=True
End Sub

TOP

回復 8# tyrone123456


        Sub test()
    Workbooks("紀錄表 ").Sheets("客戶明細").Rows(2).Copy
    EndRow = ActiveSheet.UsedRange.Rows.Count + 1 '所有使用中的列數+1
    Rows(EndRow).PasteSpecial Paste:=xlPasteValues
End Sub

可使用∼但像   Workbooks("紀錄表 ").Sheets("客戶明細").Rows(2).Copy
變成只能使用固定檔名∼可寫成將巨集存在哪個檔案裡就複製裡面sheets("客戶明細")的到目前所在的頁面嗎?
另如果要自動插入超連結要怎麼寫呢?GOOGLE找到的方法只變成自動貼上連結,無法讓他點選就跳選到當初複製過來的那個檔案裡面

TOP

ROW(2)的意思:代表該Sheet的第2"行"
workbooks的意思是? 如果你的複製貼上作業是在同一excel檔案,就可以忽略,但若是不同excel檔案,就像你這個case是不同檔案之間的內容複製,就要加入,而且starry的寫法意思要把基礎2.xls的資料複製到"目前活化的檔案的目前使用Sheet內"

我習慣寫詳細些,這樣Debug會較清楚,但缺點是多號一些資源
    Workbooks("紀錄表-基礎.xls").Sheets("客戶明細").Rows(2).Copy
    Workbooks("2.xls").Sheets("123").EndRow =  Workbooks("2.xls").Sheets("123").UsedRange.Rows.Count + 1 '所有使用中的列數+1
    Workbooks("2.xls").Sheets("123").Rows(EndRow).PasteSpecial Paste:=xlPasteValues

TOP

        靜思自在 : 道德是提昇自我的明燈,不該是呵斥別人的鞭子。
返回列表 上一主題