2017-02-19 25 views
0

我正在写一个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

一旦您设置了Range对象它所带来的工作性质,所以没有必要限定其工作表

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 OffSht As Worksheet 
    Set OffSht = Sheets.Add(After:=Sheets(Sheets.count)) 
    OffSht.Name = "offset.sac" 

    NewCode.Copy _ 
    Destination:=OffSht.Range("A1") 

End Sub 
+0

你真是个天才!这工作完美!非常感谢!!我可以询问你是如何将范围A:A更改为A1的?我改变了我的范围,以匹配你的,但我想知道这是否是一个最佳实践类型的变化,或者如果目的地范围只需要范围的第一个单元格。 – user32509

相关问题