Excel 在VBA中设置单元格的值(为什么我的代码不起作用)
我正在使用代码Excel 在VBA中设置单元格的值(为什么我的代码不起作用),excel,vba,Excel,Vba,我正在使用代码 hood.Offset(0,2)。Value=hoodName 胡德被宣布为一个范围。组成hood的单元格返回了一个#值错误,而我试图设置的单元格没有返回任何内容。为什么?我做错了什么 好的,这里还有一些代码: Function NhoodCheck(rXY As Range) As String Dim hoodName As String Dim hood As Range Set hood = rXY.Cells(1, 2) If OHC(rXY) = True Then
hood.Offset(0,2)。Value=hoodName
胡德被宣布为一个范围。组成hood的单元格返回了一个#值错误,而我试图设置的单元格没有返回任何内容。为什么?我做错了什么
好的,这里还有一些代码:
Function NhoodCheck(rXY As Range) As String
Dim hoodName As String
Dim hood As Range
Set hood = rXY.Cells(1, 2)
If OHC(rXY) = True Then
hoodName = "Ohio City"
End If
Set hood.Offset(0, 2).Value = hoodName
End Function
基本思想是调用函数并传递一个范围(rXY),然后作为if语句的一部分调用布尔函数。如果返回true,则将hoodname设置为邻居的名称。它执行其他检查,如果它是假的,所有这些都是为了确定一个地方所在的社区。然后,它返回邻域的第一部分,但名称是一个较大的区域,位于调用函数的单元格旁边的单元格中(因此是偏移量)。第一部分工作正确。它只是不设置偏移单元格的值。在这种情况下,我想让一些单元格显示“俄亥俄城” 试着这样做:
hood.Offset(0, 2).Value = "hoodName"
没有“
VBA认为name
是一个变量
请尝试以下代码:
Option Explicit
Sub TestMe()
Dim hood As Range
Set hood = Range("D4")
hood.Offset(0, 2).Value = hoodName
End Sub
它将返回一个错误,因为
hoodName
是一个变量,并且由于存在选项Explicit
,应该声明一个变量。如果删除选项Explicit
,代码将起作用,因为VBA会认为hoodName
是一个变量,它等于”“
不太清楚什么是“cell没有返回任何内容”。请提供更多的代码和解释。您能提供HoodName的来源、您对它的价值、更多的代码和更好的解释来帮助您吗?