Vba Set range语句出错

Vba Set range语句出错,vba,excel,Vba,Excel,有人能帮我翻译一下这个代码吗?它在第6行(Set rng=Sheet3.Range(单元格(1,i),单元格(1,j))上抛出一个错误。请选择),但我不知道如何修复它 Public Sub CommandButton1_Click() Dim i As Integer i = 3 Dim j As Integer j = 5 Set Rng = Sheet3.Range(Cells(1, i), Cells(1, j)).Select lAnswe

有人能帮我翻译一下这个代码吗?它在第6行(
Set rng=Sheet3.Range(单元格(1,i),单元格(1,j))上抛出一个错误。请选择
),但我不知道如何修复它

Public Sub CommandButton1_Click()
    Dim i As Integer
    i = 3
    Dim j As Integer
    j = 5
    Set Rng = Sheet3.Range(Cells(1, i), Cells(1, j)).Select
    lAnswer = Application.WorksheetFunction.Sum(Rng)
    Sheet1.Cells(5, 13).Value = lAnswer
End Sub

只需删除该行的“选择”部分

Public Sub CommandButton1_Click()

    Dim i As Integer
    Dim j As Integer
    Dim Rng As Range
    Dim lAnswer As Long

    i = 3
    j = 5
    Set Rng = Sheet3.Range(Cells(1, i), Cells(1, j)) 'remove '.select'
    lAnswer = Application.WorksheetFunction.Sum(Rng)
    Sheet1.Cells(5, 13).Value = lAnswer

End Sub

您已经收到了关于语法问题的答案,但我也要提醒您,在使用用于定义。具体来说,他们的观点是武断的

Public Sub CommandButton1_Click()

    Dim i As Long
    Dim j As Long
    Dim Rng As Range
    Dim lAnswer As Double

    i = 3
    j = 5
    with Sheet3
        Set Rng = .Range(.Cells(1, i), .Cells(1, j))
    end with
    lAnswer = Application.WorksheetFunction.Sum(Rng)
    Sheet1.Cells(5, 13).Value = lAnswer

End Sub
这一行也可以写成

Set Rng = Sheet3.Range(Sheet3.Cells(1, i), Sheet3.Cells(1, j))

。。。但它会干净整洁。如果不指定.Cells的父级,则可能会尝试在Sheet3上定义一个包含其他工作表中单元格的范围。我意识到这是一个命令按钮,任意单元格区域的父级应该隐式地是包含单击的按钮的工作表,但您正在为.range定义Sheet3,因此良好的编码实践要求您通过显式地将Sheet3定义为嵌套.Cells的父级来完成练习。

1)引发了哪个错误确切地2) 表格3的第一行第3列和第5列是什么?3) 第三张纸存在吗?4) 你能解释一下你想做什么吗?代码写得很奇怪。您好Matteo是的,所有内容都在sheet3中,在我输入值的第一行,我只是在尝试一个简单的代码,然后再将它合并到我的工作表中。我想做的是把一行中的5个单元格加起来,然后转到下一行,然后把相同的单元格加起来。这就是为什么我想看看我是否可以在这个范围内使用cell函数,这样我以后就可以把它放在一个循环中,每次都增加I