我正在设计一个宏,它将通过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
答案 0 :(得分:2)
您收到错误,因为SourceData
不属于您。它看起来应该是一个工作表或范围或东西,但你没有声明它,也没有你设置它。
更新:SourceData
是一张表。要按名称引用工作表,您应使用Sheets("Sheetname")
。此外,无需参考工作表的cells
来获取工作表中的特定范围,只需右移到范围:Sheets("SourceData").Range("A2:A" & N)