標題:
[發問]
關於用VBA開啟別的檔案後要如何回到原視窗呢?
[打印本頁]
作者:
starry1314
時間:
2015-6-12 16:38
標題:
關於用VBA開啟別的檔案後要如何回到原視窗呢?
本帖最後由 starry1314 於 2015-6-12 16:46 編輯
請問要怎麼修改呢
還是可以先用變數 讀取開啟檔案前的視窗名稱,
EX :
aa = ThisWorkbook.FullName
workbooks.Open ("\\Boss-pc\公用磁區\數據\資料庫\105-客戶明細.xlsm")
ActiveWorkbook.Sheets(aa).Select
但說無法識別...
Sub 貼上資料()
'
workbooks.Open ("\\Boss-pc\公用磁區\數據\資料庫\105-客戶明細.xlsm")
ActiveWorkbook.Sheets("收款跟催").Select '回到出餐單
會失敗改用thisworkbook也是會失敗
Range("A3").Select '選取要複製的資料行
Dim lSourceRow As Long, lTargetRow As Long
Dim wsTarget As Worksheet
With ActiveSheet
lSourceRow = Selection(1).Row '被點擊的該按鈕行數
' If .Cells(lSourceRow, "C").Text = vbNullString Then MsgBox "日期欄無資料,無法判斷貼上月份": Exit Sub
'Set wsTarget = Workbooks("客戶明細(總表).xlsm").Sheets(GetMonthStr(.Cells(lSourceRow, "C"))) '日期判斷要貼上的工作表
Set wsTarget = workbooks("105-客戶明細(總表).xlsm").Sheets("客戶明細")
Windows("105-客戶明細(總表).xlsm").Activate
Sheets("客戶明細").Select
lTargetRow = wsTarget.Cells(Rows.Count, "B").End(xlUp).Row + 1 '要貼上的位置
Application.ScreenUpdating = False
.Range(.Cells(lSourceRow, "A"), .Cells(lSourceRow, "AR")).Copy '複製A欄到AR欄的資料
wsTarget.Cells(lTargetRow, "B").PasteSpecial Paste:=xlPasteValues '在B欄開始貼上
wsTarget.Paste Link:=True '貼上連結
Application.ScreenUpdating = True '貼上連結
End With
'將檔案做超連結至A攔
With wsTarget
.Hyperlinks.Add Anchor:=.Cells(lTargetRow, "B"), _
Address:=ThisWorkbook.FullName
'SubAddress:=ThisWorkbook.Sheets("出餐單").Name & "!" & Rows(lSourceRow).Address, _
TextToDisplay:=.Cells(lTargetRow, "b").Text
.Hyperlinks.Add Anchor:=.Cells(lTargetRow, "AT"), _
Address:=ThisWorkbook.FullName
' SubAddress:=.Name '& "!" & Rows(lSourceRow).Address _
'TextToDisplay:=.Cells(lTargetRow, "ao").Text
End With
End Sub
作者:
starry1314
時間:
2015-6-12 17:03
本帖最後由 starry1314 於 2015-6-12 17:05 編輯
氣死我.........
想半天想不出來~結果一PO論壇靈感馬上來
aa = ThisWorkbook.Name
workbooks.Open ("\\Boss-pc\公用磁區\數據\資料庫\105-客戶明細.xlsm")
Windows(aa).Activate
即可回原本巨集開檔案前視窗
歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)