使用输入框将范围复制到另一个工作表以选择范围

时间:2017-02-19 19:08:06

标签: vba variables range copy-paste inputbox

我正在编写一个VBA宏,我有一个InputBox,用户将选择一个完整列的范围,然后宏将该范围粘贴到另一个工作表的特定位置。我一直在努力使这个代码工作,但我不断得到不同的错误取决于我尝试修复,所以我想知道是否有人可以帮助我。我已粘贴代码的相关部分:

Sub Create_CONV_Files()

Dim NewCode As Range
Set NewCode = Application.InputBox(Prompt:="Select the column with the code numbers", Title:="New Event Selector", Type:=8)

Dim RawData As Worksheet
Set RawData = ActiveSheet

Dim OffSht As Worksheet
Set OffSht = Sheets.Add(After:=Sheets(Sheets.Count))
OffSht.Name = "offset.sac"

Worksheets(RawData).Range(NewCode).Copy _
  Destination:=OffSht.Range("A:A")

End Sub

我尝试将输入改为字符串,但我也遇到错误,我不知道如何解决这个问题。我希望大致使用我概述的方法,因为我的完整代码有多个目标表和范围。

非常感谢您提供的任何帮助!

1 个答案:

答案 0 :(得分:1)

一旦设置了let captureSize = self.frame.size.width / 9 //9 is the scale factor let screenFrame = (NSScreen.main()?.frame)! let x = floor(point.x) - floor(captureSize / 2) let y = screenFrame.size.height - floor(point.y) - floor(captureSize / 2) let windowID = CGWindowID(self.windowNumber) cgImageExample = CGWindowListCreateImage(CGRect(x: x, y: y, width: captureSize, height: captureSize), CGWindowListOption.optionOnScreenBelowWindow, windowID, CGWindowImageOption.bestResolution) 对象,它就会带来工作表属性,因此无需限定其工作表

Range