Excel 1004 range.value错误

Excel 1004 range.value错误,excel,vba,Excel,Vba,VBE调试器一直给我 1004错误(应用程序定义或对象定义错误) 在线“工作表(“常规”)。单元格(当前索引,2)。值=当前时间” 或者我试图修改单元格值的任何尝试 从同一工作表中的单元格调用该函数。但是当我打字的时候 在即时窗口中,没有显示任何内容。怎么了 有人能告诉我怎么修吗?有什么问题吗?谢谢 更新:这是我代码的一部分,我在代码的开头有明确的选项 Function collectdata(cur_time) Dim row_num As Integer, start_index As I

VBE调试器一直给我

1004错误(应用程序定义或对象定义错误)

在线
“工作表(“常规”)。单元格(当前索引,2)。值=当前时间”

或者我试图修改单元格值的任何尝试

从同一工作表中的单元格调用该函数。但是当我打字的时候

在即时窗口中,没有显示任何内容。怎么了

有人能告诉我怎么修吗?有什么问题吗?谢谢

更新:这是我代码的一部分,我在代码的开头有明确的选项

Function collectdata(cur_time)

Dim row_num As Integer, start_index As Integer, end_index As Integer, cur_index As Integer, col_num As Integer

row_num = 1
start_index = total_record * num_it + 21
end_index = start_index + total_record - 1

Dim rg As String
rg = "A" & start_index & ":A" & end_index

On Error GoTo err1

If cur_time > 0 And num_it < 10 Then

    cur_index = cur_time + 1200 * num_it


    Worksheets("General").Cells(cur_index, 2).Value = cur_time

    Worksheets("General").Range(rg).Value = num_it + 1

    For col_num = 3 To 12


        Worksheets("General").Cells(cur_index, col_num).Value = Cells(7, col_num).Value

    Next col_num

ElseIf cur_time = 1200 Then
    num_it = num_it + 1

End If

err1:
    Debug.Print Err.Description

End Function
函数收集数据(当前时间)
Dim row_num为整数,start_index为整数,end_index为整数,cur_index为整数,col_num为整数
行数=1
开始索引=总记录*num\u it+21
结束索引=开始索引+总记录-1
将rg变暗为字符串
rg=“A”&开始索引&“:A”&结束索引
错误转到错误1
如果cur_time>0且num_it<10,则
当前索引=当前时间+1200*num\u it
工作表(“常规”)。单元格(当前索引,2)。值=当前时间
工作表(“常规”).Range(rg).Value=num\u it+1
对于col_num=3到12
工作表(“常规”)。单元格(当前索引,列数)。值=单元格(7,列数)。值
下一列
如果当前时间=1200,则
num_it=num_it+1
如果结束
错误1:
调试.打印错误说明
端函数

这可能无法准确回答您的问题,但我希望能帮助您稍微修改一下代码

选项Explicit
放在代码顶部。此选项将帮助您以更“强类型”的方式编写代码

另外,您的
num\u it
变量未定义,因此为空。这一行:

cur\u index=cur\u time+1200*num\u it

将当前索引变为0。然后,
单元格(行,列)
方法给出错误,因为没有工作表的行为0。行和列从1开始


另外,将数据类型设置为参数
cur\u time
。例如,如果向其传递字符串,代码将出错。

用作自定义项的VBA函数无法修改工作簿-它只能返回值或值数组。如@TimWilliams所述,您不能修改自定义项中除自身以外的其他单元格。你能在VBA中运行这个函数吗?如果是-->这就是问题所在,如果不是-->最好指定cur_time的类型。实际上它是定义的,我在这里粘贴的内容只是我的一部分code@user511792啊。我懂了。你能在你的代码中加入更多的细节吗?发送到函数的值,例如,其他变量的值等,以便复制错误?