我是VBA的新手,因此我一直陷在这个问题上。我有一个关于温度的大数据:
A
1. 21.40
2. 21.45
3. 21.38
4. 22.89
5. 23.27
etc...
我将数据放在A列中,对于每个温度,我想在B列中分配它们的密度和热系数值(分别对应于温度)。我尝试了这个:
Dim Temp As Range, Density As Double
Set Temp = Range(“A1:A1000″)
Temp = Range(“A1:A1000″).Value
If Temp = 21 Then
Density = 998.08
ElseIf Temp=22 Then
Density = 997.86
ElseIf…(I do until the required Temp)
End If
Range(“B1:B1000″).Value = Density
我收到不匹配错误。请你帮助我好吗?
有很多方法可以做到这一点,但我建议您将代码更改为以下形式:
Sub Temperature()
Dim Temp As Range
Dim Density As Double
Set Temp = ActiveSheet.Range("A1:A1000")
For Each cell In Temp
Select Case cell.Value
Case 20 To 21: Density = 998.08
Case 21 To 22: Density = 997.86
'...and so on with the cases
Case Else: Density = 0
End Select
cell.Offset(0, 1).Value = Density '<~~ Writes the density in column B
Next cell
End Sub
这将检查范围的每个单元格中的每个值,A1:A1000
然后确定关联值的密度应为多少(基于代码中的输入)。此后,它将此值写入具有相同列号的单元格中B
,然后继续到下一个单元格。
我不是温度和密度方面的专家,但是在我看来,您需要根据温度间隔来分配密度。这就是为什么我基于Select Case
温度间隔。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句