Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Excel 在VBA中设置单元格的值(为什么我的代码不起作用)_Excel_Vba - Fatal编程技术网

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的来源、您对它的价值、更多的代码和更好的解释来帮助您吗?