我有两列感兴趣的医疗副作用表,副作用的名称和他们的严重程度从0. 10 - 25. 00作为一个十进制数。使用字符串数组和转置,我存储第一列文本没有问题,但试图以同样的方式填充双数组失败,并出现Type Mismatch错误。为什么会这样呢?我可以通过使用变量数组来绕过这个问题,但是当我填充变量数组时,所有的索引都是Double类型的。我试过使用CDbl和#来强制问题,但这也不起作用。该范围仅覆盖数据,而不覆盖标头。
Function DiagnoseSideEffect(ByRef rngSide As Range) As String
Dim sSideFx() As Variant
Dim dSeverity() As Double
Dim vSeverity() As Variant
' ... Other declarations
sSideFx = WorksheetFunction.Transpose(rngSide.Columns(2).Value)
dSeverity = WorksheetFunction.Transpose(rngSide.Columns(4).Value) ' ERROR: Type Mismatch
vSeverity = WorksheetFunction.Transpose(rngSide.Columns(4).Value) ' Works fine
' Rest of function...
End Function
字符串
1条答案
按热度按时间eqqqjvef1#
不需要使用Worksheet函数,转置即可得到结果。
类型不匹配错误的原因来自转置方法。转置将仅转置作为该方法的结果的原则上可以粘贴在一行中的列中的单元格的量。你把它赋给一个变量并不重要。
字符串
给出了一个二维数组myarr(x,y),索引从1开始。
项目可以与
型
一般来说,为了不获取不必要的数据,获取范围的最后一项是值得的
用这个可以得到一个Double类型的一维数组
型
在你的代码里
型