返回列表 上一主題 發帖

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

回復 35# starry1314
你怎麼套用的???
程式複製來源的是當前的工作表ActiveSheet
因為你的'收款跟催'工作表中該資料行有按鈕
按鈕觸發時的ActiveSheet就是收款跟催工作表
表達不清、題意不明確、沒附檔案格式、沒有討論問題的態度~~~~~~以上愛莫能助。

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

回復 29# stillfish00


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

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

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

回復 32# starry1314
可以,開啟兩檔案啟用巨集,按個別客戶的轉置-業務按鈕
四月工作表就有資料了
附件:
自動插入超連結.zip (431.58 KB)
表達不清、題意不明確、沒附檔案格式、沒有討論問題的態度~~~~~~以上愛莫能助。

TOP

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

回復 31# stillfish00

了解~感謝說明

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

TOP

本帖最後由 stillfish00 於 2015-5-6 16:14 編輯

回復 30# starry1314
呼叫該巨集的按鈕,該按鈕左上角座標所在儲存格的行數
是根據客戶資料日期判斷,所以4/23跑完會貼到四月工作表
表達不清、題意不明確、沒附檔案格式、沒有討論問題的態度~~~~~~以上愛莫能助。

TOP

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

回復 29# stillfish00


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

TOP

回復 27# starry1314
可試試看
  1. Sub 貼上資料至_業務管理TEST自動往下貼一行()
  2. '
  3. ' 貼上資料至_業務管理 巨集
  4. '
  5.     Dim lSourceRow As Long, lTargetRow As Long
  6.     Dim wsTarget As Worksheet
  7.    
  8.     With ActiveSheet
  9.         lSourceRow = .Buttons(Application.Caller).TopLeftCell.Row   '被點擊的該按鈕行數
  10.         Set wsTarget = Workbooks("客戶明細-業務專用.xlsm").Sheets(GetMonthStr(.Cells(lSourceRow, "B"))) '日期判斷要貼上的工作表
  11.         lTargetRow = wsTarget.Cells(Rows.Count, "B").End(xlUp).Row + 1  '要貼上的位置
  12.         .Range(.Cells(lSourceRow, "A"), .Cells(lSourceRow, "P")).Copy wsTarget.Cells(lTargetRow, "B") '複製貼上該行資料
  13.     End With
  14.    
  15.     'Q欄設定超連結到本檔案
  16.     With wsTarget
  17.         .Hyperlinks.Add Anchor:=.Cells(lTargetRow, "Q"), _
  18.                         Address:=ThisWorkbook.FullName, _
  19.                         SubAddress:=ThisWorkbook.ActiveSheet.Name & "!" & Rows(lSourceRow).Address, _
  20.                         TextToDisplay:=.Cells(lTargetRow, "Q").Text
  21.     End With
  22. End Sub

  23. '工作表用中文字要自己寫function轉,如果是1月、2月...可用 Format(日期,"m月")轉換較方便
  24. Function GetMonthStr(inDate As Date) As String
  25.     Select Case Month(inDate)
  26.         Case 1
  27.             GetMonthStr = "一月"
  28.         Case 2
  29.             GetMonthStr = "二月"
  30.         Case 3
  31.             GetMonthStr = "三月"
  32.         Case 4
  33.             GetMonthStr = "四月"
  34.         Case 5
  35.             GetMonthStr = "五月"
  36.         Case 6
  37.             GetMonthStr = "六月"
  38.         Case 7
  39.             GetMonthStr = "七月"
  40.         Case 8
  41.             GetMonthStr = "八月"
  42.         Case 9
  43.             GetMonthStr = "九月"
  44.         Case 10
  45.             GetMonthStr = "十月"
  46.         Case 11
  47.             GetMonthStr = "十一月"
  48.         Case 12
  49.             GetMonthStr = "十二月"
  50.     End Select
  51. End Function
複製代碼
表達不清、題意不明確、沒附檔案格式、沒有討論問題的態度~~~~~~以上愛莫能助。

TOP

回復 10# lpk187


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

TOP

        靜思自在 : 虛空有盡.我願無窮,發願容易行願難。
返回列表 上一主題