[英]How do I use the Inputbox in VBA to obtain a range from a user from a already open Excel workbook and paste it into another, standardized workbook?
[英]Inputbox in [excel] [vba] to select range from a different workbook
當我逐行瀏覽子項時,它可以工作,但是當我單擊運行時,它會在輸入框后停止,並顯示“ Newloc.Select
運行時錯誤'1004':激活范圍類的方法失敗”。
Dim Original As Workbook
Dim Newloc As Range
Dim Newbk As Workbook
Set Original = ActiveWorkbook
Set Newloc = Application.InputBox("Select workbook and cell where to copy the data", "Paste", , , , , , 8)
Newloc.Select
Set Newbk = ActiveWorkbook
Original.Activate
ActiveCell.CurrentRegion.Copy
Newbk.Activate
ActiveSheet.Paste
Application.CutCopyMode = False
Original.Close savechanges:=False
如何使它與我創建的功能區快捷方式一起使用?
問題是您不能在尚未激活的工作簿中選擇一個范圍。 更深層的問題是您不應該依賴VBA for Excel中的“ Activate
/ Select
。 :)
解決辦法是重構你的代碼,這樣你就不需要依靠激活表背及提出:
Dim Original As Workbook
Dim srcRange As Range
Dim Newloc As Range
Dim Newbk As Workbook
Set Original = ActiveWorkbook
Set srcRange = ActiveCell.CurrentRegion
Set Newloc = Application.InputBox("Select workbook and cell where to copy the data", "Paste", , , , , , 8)
srcRange.Copy Newloc
Application.CutCopyMode = False
Original.Close savechanges:=False
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.