【发布时间】:2016-06-26 02:47:32
【问题描述】:
我有一个For 循环,它将找到一个具有特定值的单元格(例如“项目”一词)。一旦它找到这个单元格,我想将一个值粘贴到它下面的行中,在第一列中。
例如,如果For 循环在单元格 A1 中找到“项目”,我想将变量的值粘贴到单元格 I2 中。
我希望能够同时使用 Long 变量和 String 变量来执行此操作。
现在我正在尝试类似的东西:
Cells(i.Offset(1, 0), 9).Value = myLongVariable
或
Cells(i.Offset(1, 0), 9).Text = myStringVariable
和其他变体,但我在这一行不断收到溢出错误。
我试过这个:Range("I" & i.Offset(1, 0)).Value = myLongVariable 和细微的变化,但我收到一个错误,上面写着Run-time error 1004: Method Range of object _Worksheet failed
或workBook.Sheets("Sheet1").Range("I" & i.Offset(1, 0)).Value = myLongVariable,但这会给出Run-time error 1004: Application-defined or object-defined error。不确定这是指什么,因为我已经定义了 workBook 和 i 和 myLongVariable。
作为一种稍微不同的方法,我尝试将变量数据粘贴到该行的下一个空白单元格中,该单元格恰好是 I 列中的单元格。这是我为此使用的代码:'i.Offset(1, 0).End(xlToRight).Offset(0, 1).Value = myLongVariable。它工作得很好,除了在这种情况下:单元格 A1:C1 是空白的,D1:H1 有值。然后它应该将该值粘贴到 I1 中,但它认为 D1 是结束并将其发布到那里。有什么想法吗?
谢谢!
【问题讨论】:
-
老兄,请校对您的问题,然后将其留给人们回答,尤其是不要更改您要询问的代码!
-
您的
Cells(i.Offset(1, 0), 9)必须是Cells(i.Row + 1, 9)... 也可以通过.Value设置字符串...单元格的.Text属性以不同的方式起作用...请阅读THIS -
@DirkReichel 请将其作为答案发布,以便我接受