【问题标题】:Range Error - Loop to increase row index vba范围错误 - 循环增加行索引 vba
【发布时间】:2016-06-07 16:16:53
【问题描述】:

这是我的代码的一部分。最后,我想遍历单元格,找到两个短语之间的文本,将其连接起来,然后将其粘贴到确定的列中。一旦代码找到“ID”,它将在粘贴范围中添加一行,然后重新开始。 (这在底部附近)。

我不能做的是让每个部分的范围进行合作。当我使用 'wksSource.Range(Cells(R, 2)).Value = stringValues' 时,它会引发错误:1004,对象工作表的方法范围失败。但如果我使用 'wksSource.Range("B15").Value = stringValues' 就完全没问题了。问题是,这不是动态的。每次找到短语“ID”时,我都需要增加“R”。每个部分的列都是不变的。 (R,2) (R,3) 等

我已经做了很多谷歌搜索,我明白为什么会抛出这个错误;我只是无法弄清楚为什么会在这种情况下发生。工作表已定义......它适用于“B15”,所以我认为错误在“R”中,但我被卡住了。

请帮忙! (我意识到这可能一直是一个循环,如果你愿意,我很想听听这方面的建议,但现在,我正在努力学习,这似乎是我做到这一点的最佳方式一次。今天用小循环增加行,明天解决大循环。:))

Dim rng As Range, AllPos As Range, rngEnd As Range, rngStart As Range
 Dim DeptRng As Variant, stringValues As String, cell As Range, NextRow As Variant
 Dim R As Integer, lastRowCon As Integer, wksSource As Worksheet, paste As Range

 Set AllPos = Range("A2:A53")
 R = 2
 Set wksSource = ActiveWorkbook.Sheets("Sheet1")
 Set rngStart = AllPos.Find("Department Description:").Cells
    If Not rngStart Is Nothing Then
        Set rngEnd = AllPos.Find("Position Duties :").Cells
        Set DeptRng = Range(rngStart, rngEnd.Offset(1))
            For Each C In DeptRng
                stringValues = stringValues & C
            Next C
           wksSource.Range(Cells(R, 2)).Value = stringValues
         stringValues = ""
    End If

.....上面这里的几次迭代.....

Set rngStart = AllPos.Find("ID:").Cells
    If Not rngStart Is Nothing Then
'Finds last row of content
     lastRowCon = wksSource.Range("A1").End(xlDown).Row
'Finds first row without content
    R = lastRowCon + 1
        'select next empty row, Column B
    End If

【问题讨论】:

    标签: vba loops range runtime-error


    【解决方案1】:
    wksSource.Cells(R, 2).Value = stringValues
    

    如果是单个单元格,则不需要Range()

    编辑:有关更多示例,请参阅this。如果给Range 属性一个参数,它必须是范围的名称。 Cells(i,j) 返回一个 Range 对象,您不需要/不能使用 Cells(i,j) 作为其自身的名称。当您使用Cells(i,j) 时,就像使用ActiveSheet.Cells(i,j),顺便说一句。

    【讨论】:

    • 对不起!是的,现在应该被接受。再次感谢!
    猜你喜欢
    • 1970-01-01
    • 2013-03-09
    • 2021-09-02
    • 1970-01-01
    • 2015-05-31
    • 1970-01-01
    • 1970-01-01
    • 2015-08-03
    • 2017-04-27
    相关资源
    最近更新 更多