如何将Range对象的值设置为特定工作表的特定范围?
我现在有代码导航并激活正确的工作表和单元格,但是当我设置范围的值并进行复制时,它最终会从工作表1中复制一个范围,当我希望它从另一个中获取值时片材。
以下是我在尝试设置范围时的代码。
Dim NewValuesRange As Range
Dim ActiveCellRowNumber As Integer
Sheets(err).Activate
Set NewValuesRange = Range(Cells(ActiveCellRowNumber - 1, 1), Cells(ActiveCellRowNumber - 1, 18))
NewValuesRange.Copy
NewValuesRange.Insert Shift:=xlDown
我尝试将第四行设为:
Set NewValuesRange = Sheets(err).Range(Cells(ActiveCellRowNumber - 1, 1), Cells(ActiveCellRowNumber - 1, 18))
和
Set NewValuesRange = Worksheet(sheetname).Range(Cells(ActiveCellRowNumber - 1, 1), Cells(ActiveCellRowNumber - 1, 18))
然而,这两个给我1004错误。关于如何解决这个问题的想法?
谢谢!
编辑:错误是已设置的整数,activecellrownumber是已设置的整数,sheetname是已设置的字符串。
答案 0 :(得分:0)
您必须在 ActiveCellRowNumber
中加入一些值Sub fhskadjfhs()
Dim NewValuesRange As Range
Dim ActiveCellRowNumber As Integer
Dim Errr As String
Errr = "Sheet2"
Sheets(Errr).Activate
ActiveCellRowNumber = ActiveCell.Row
Set NewValuesRange = Range(Cells(ActiveCellRowNumber - 1, 1), Cells(ActiveCellRowNumber - 1, 18))
NewValuesRange.Copy
NewValuesRange.Insert Shift:=xlDown
End Sub
答案 1 :(得分:0)
尝试这样的事情:
Sub CopyAndInsert()
Dim NewValuesRange As Range
Dim ActiveCellRowNumber As Integer
With Worksheets(err)
Set NewValuesRange = .Range(Cells(ActiveCellRowNumber - 1, 1), Cells(ActiveCellRowNumber - 1, 18))
NewValuesRange.Copy
NewValuesRange.Insert Shift:=xlDown
End With
End Sub