簡體   English   中英

[excel] [vba]中的輸入框可從其他工作簿中選擇范圍

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM