【发布时间】:2018-01-31 20:53:52
【问题描述】:
我在用 VBA 编写代码时遇到了麻烦,当其中一个单元格是变量时,该代码允许我描述一系列不连续的单元格。当我运行这行代码时,我在以Range(copyToRange) = Application.WorksheetFunction.Average(copyFromRange) 开头的行出现错误。抱歉,如果这是一个简单的解决方法,我整天都在用头撞墙:
Sub GetPCData()
'Get PC response ratios
PCanalytes = Array("Furosemide", "Caffeine", "Ketoprofen", "Phenylbutazone", "Flunixin")
PCanalytePositions = Array("J32", "J33", "J34", "J35", "J36")
Set SQWorkbook = Application.ActiveWorkbook
Dim sourceSheet, targetSheet As Worksheet
Dim copyFromRange, copyToRange As Range
Dim Y As Range
Set targetSheet = ThisWorkbook.Sheets("QC data")
For i = 0 To SQWorkbook.Worksheets.Count
Set sourceSheet = SQWorkbook.Worksheets(PCanalytes(i))
Set Y = sourceSheet.Range("A7").End(xlDown)
Set copyToRange = targetSheet.Range(PCanalytePositions(i))
Set copyFromRange = sourceSheet.Range(("H8"), Y.Offset(0, 7))
Range(copyToRange) = Application.WorksheetFunction.Average(copyFromRange)
Next i
End Sub
【问题讨论】: