VBA值错误
我对VBA相当陌生。基本上,我的代码尝试根据区域列中的最大值输出分类,区域列有几个类别。逻辑似乎是正确的,但我一直在得到一个#值!错误。任何帮助都将不胜感激VBA值错误,vba,excel,Vba,Excel,我对VBA相当陌生。基本上,我的代码尝试根据区域列中的最大值输出分类,区域列有几个类别。逻辑似乎是正确的,但我一直在得到一个#值!错误。任何帮助都将不胜感激 Public Function luclass(NAPS As Double) As String Dim lastrow As Long Dim c As Range, rng As Range Dim maxclass As String Dim maxshape As Double With ThisWorkbook.Wor
Public Function luclass(NAPS As Double) As String
Dim lastrow As Long
Dim c As Range, rng As Range
Dim maxclass As String
Dim maxshape As Double
With ThisWorkbook.Worksheets("LandUseClass2")
lastrow = .Cells(.Rows.Count, "B").End(xlUp).Row
maxclass = "Blank"
maxshape = 0
For Each c In .Range("B2:B650" & lastrow)
If c.Value = NAPS Then
If .Range("F" & c.Row).Value > maxshape Then
.Range("C" & c.Row).Text = maxclass
End If
End If
Next c
End With
luclass = maxclass
End Function
.Range(“B2:B650”和lastrow)
更改为.Range(“B2:B”和lastrow)
.Range(“C”&C.Row).Text=maxclass
更改为.Range(“C”&C.Row).Value=maxclass
为。Text
为只读属性#值错误
使用Sub
而不是函数
,或者解释您要实现的具体目标,我们将从那里开始:)
这个函数是如何调用的?如果它是由单元格公式调用的用户定义函数(UDF),则不能这样做。函数接受输入、计算内容并生成输出-没有副作用:函数不能修改其他单元格。谢谢,但现在它说的是初始的“Public Sub luclass(NAPS As Double)As String”-As String部分是语句的预期结尾?哦,我想subs通常不接受输入?@Melanie subs可以接受输入,但是只要去掉最后的作为字符串
,签名就简单了:公共子类(NAPS作为Double)
。
Public Sub luclass(NAPS As Double)