在vba中复制和排序宏

时间:2014-09-26 13:45:10

标签: excel vba sorting excel-vba

我正在设计一个宏,它将通过vba中的键复制和排序数据。我已经开始编写代码了,到目前为止它运行良好但由于某种原因我在行Set rng1 = SourceData.Cells.Range("A2:A" & N)得到了一个Object Required错误。我不确定为什么会这样。任何帮助将不胜感激。

Sub crossUpdate()
Dim rng1 As Range, rng1Row As Range
N = Cells(Rows.Count, "A").End(xlUp).row
Sheet1.Cells.Select
Selection.Copy
Sheets.Add.Name = "SourceData"
ActiveSheet.Paste
Range("A1").Select
Set rng1 = SourceData.Cells.Range("A2:A" & N)
Set rng1Row = rng1.EntireRow
rng1Row.Sort Key1:=Range("A1")



End Sub

1 个答案:

答案 0 :(得分:2)

您收到错误,因为SourceData不属于您。它看起来应该是一个工作表或范围或东西,但你没有声明它,也没有你设置它。

更新:SourceData是一张表。要按名称引用工作表,您应使用Sheets("Sheetname")。此外,无需参考工作表的cells来获取工作表中的特定范围,只需右移到范围:Sheets("SourceData").Range("A2:A" & N)