在许多连续行的文本中自动填充连续数字

时间:2019-04-30 22:31:55

标签: excel vba formula numeric counting

Sheets("ENTR Ext Budget").Range("C12").Value = Sheets("BPC-SAP Grant Upload").Range("C62").Value
Sheets("ENTR Ext Budget").Range("C13").Value = Sheets("BPC-SAP Grant Upload").Range("C62").Value
Sheets("ENTR Ext Budget").Range("C...").Value = Sheets("BPC-SAP Grant Upload").Range("C62").Value
Sheets("ENTR Ext Budget").Range("C15000").Value = Sheets("BPC-SAP Grant Upload").Range("C62").Value

我正在设置VBA /宏,我需要在行文本中包含/混合的数字,以便在复制行时连续进行计数。

Sheets("ENTR Ext Budget").Range("C4660").Value = Sheets("BPC-SAP Grant Upload").Range("C19").Value
Sheets("ENTR Ext Budget").Range("C4661").Value = Sheets("BPC-SAP Grant Upload").Range("C19").Value
Sheets("ENTR Ext Budget").Range("C4662").Value = Sheets("BPC-SAP Grant Upload").Range("C19").Value
Sheets("ENTR Ext Budget").Range("C4663").Value = Sheets("BPC-SAP Grant Upload").Range("C19").Value

...这是我希望自动填充且连续获得的“ C466 *”值。我在其他论坛上找不到任何帮助。抱歉,如果这是一个新问题,我只是在寻求帮助。

编辑(进一步说明) -1st-感谢您整理我的代码。
-在各行(如下所示)中,每个行中都包含值“(“” C4660“),(” C4661“),(” C4662“),(” C4663“)等)。 “ C *”)引用单元格,该单元格将把来自另一个工作表的数据转移到该单元格中。 -我才刚刚开始编写宏,并且我正在寻找一种有效的方法来复制这些行,但是(“ C *”)值在每个连续行中都增加1。我试图避免不得不碰每一行... -我的第一个(“ C *”)值是(“ C12”)。我的最终(“ C *”)值需要大致为(“ C15000”)。 -请让我知道是否可以添加更多详细信息来帮助

第二次编辑 -谢谢您到目前为止的帮助! -不幸的是,每行中的(“ C19”)值也必须更改。不过,在蒂姆的建议下,我认为我已大大减少了所需的行数。我添加了一个更详细的示例。当(“ C19”)的值达到(“ C250”)时,我必须圈回到顶部。

我添加的行应显示更多有关如何构造它的信息。

任何进一步的建议将不胜感激。

Sheets("ENTR Ext Budget").Range("C12:C21").Value = Sheets("BPC-SAP Grant Upload").Range("C19").Value
Sheets("ENTR Ext Budget").Range("C22:C31").Value = Sheets("BPC-SAP Grant Upload").Range("C20").Value
Sheets("ENTR Ext Budget").Range("C32:C41").Value = Sheets("BPC-SAP Grant Upload").Range("C21").Value
Sheets("ENTR Ext Budget").Range("C42:C51").Value = Sheets("BPC-SAP Grant Upload").Range("C22").Value
Sheets("ENTR Ext Budget").Range("C52:C61").Value = Sheets("BPC-SAP Grant Upload").Range("C23").Value
Sheets("ENTR Ext Budget").Range("C62:C71").Value = Sheets("BPC-SAP Grant Upload").Range("C24").Value
Sheets("ENTR Ext Budget").Range("C72:C81").Value = Sheets("BPC-SAP Grant Upload").Range("C25").Value
Sheets("ENTR Ext Budget").Range("C82:C91").Value = Sheets("BPC-SAP Grant Upload").Range("C26").Value
Sheets("ENTR Ext Budget").Range("C92:C101").Value = Sheets("BPC-SAP Grant Upload").Range("C27").Value
Sheets("ENTR Ext Budget").Range("C102:C111").Value = Sheets("BPC-SAP Grant Upload").Range("C28").Value
Sheets("ENTR Ext Budget").Range("C112:C121").Value = Sheets("BPC-SAP Grant Upload").Range("C29").Value
Sheets("ENTR Ext Budget").Range("C122:C131").Value = Sheets("BPC-SAP Grant Upload").Range("C30").Value

非常感谢。再次感谢您!

1 个答案:

答案 0 :(得分:0)

您可以为此使用循环:

Dim i As Long, rngDest As Range, rngSource As Range

Set rngDest = Sheets("ENTR Ext Budget").Range("C12:C21")
Set rngSrc = Sheets("BPC-SAP Grant Upload").Range("C19")

For i=1 to 100 'for example

    rngDest.Value = rngSrc.Value

    Set rngDest = rngDest.Offset(10, 0) 'move destination down 10 rows
    Set rngSrc = rngSrc.Offset(1, 0)    'move source down 1 row

    'not sure if this is what you meant...
    If rngSrc.Row = 250 then 
        Set rngSrc = Sheets("BPC-SAP Grant Upload").Range("C19")
    End if
Next i