这个论坛的新用户很抱歉,如果这是关闭的话。我试图将单元格值从书中的一个工作表简单复制到另一个工作表,但是需要使用相对单元格引用,因为要复制/粘贴的行数会根据输入的数据而变化。 / p>
到目前为止(非常简单)的代码是:
Sub SuitorList()
'Defining Variables
Dim Row As Integer
Row = Sheets("References").Cells(6, 2).Value
'Copying Statistics
Sheets("Charts").Range(Cells(1, 1), Cells(Row, 1)).Value = _
Sheets("Data").Range(Cells(1, 1), Cells(Row, 1)).Value
End Sub
当我使用绝对单元格引用(即" B1:B7")时,此代码工作正常,但当我使用相对引用时,我收到错误代码1004:应用程序定义或对象定义错误。
有什么想法吗?
答案 0 :(得分:0)
如果要将数据从一个工作表复制到另一个工作表,并且要复制/粘贴的数据量总是在变化,那么我会做这样的事情。这是过滤选择表中的数据,然后通过查找第一个空白单元格将其复制并粘贴到目标表单。你可能不得不把这个搞得一团糟,但这是一个好的开始。
'Defining Variables
Dim Row As Integer
Row = Sheets("References").Cells(6, 2).Value
'switches the sheet
Sheets("Charts").Select
'filters a table based on the value of the Row variable
ActiveSheet.ListObjects("Table1").range.AutoFilter Field:=1, Criteria1:= _
range("Row"), Operator:=xlAnd
'moves to the first cell in the filtered range
range("A1").Select
'selects all values in the range and copies to clipboard
range(Selection, Selection.End(xlDown)).Select
Application.CutCopyMode = False
Selection.Copy
'switches the sheet back to data sheet
Sheets("Data").Select
'finds the first blank cell in the declared range you want to paste into
ActiveSheet.range("A:A").Find("").Select
'pastes the selection
ActiveSheet.Paste
答案 1 :(得分:0)
感谢您的帮助。我能够找到一个使用以下代码的工作:
Sub SuitorList()
'Defining Variables
Dim Row As Integer
Row = Sheets("References").Cells(6, 2).Value
'Copying Statistics
For i = 1 To Row
Sheets("Charts").Range("A" & i).Value = Sheets("Data").Range("A" & i).Value
Next
End Sub
答案 2 :(得分:0)
如果您不是Loops
的粉丝,请使用Worksheet.Cells Property
Sub SuitorList()
'Defining Variables
Dim Row As Integer
Set wd = ThisWorkbook.Worksheets("Data")
Set wc = ThisWorkbook.Worksheets("Charts")
Row = Sheets("References").Cells(6, 2).Value
'Copying Statistics
Range(wd.Cells(1, 1), wd.Cells(Row, 1)).Copy Destination:=Range(wc.Cells(1, 1), wc.Cells(Row, 1))
End Sub