Автозаполнение последовательных чисел в тексте для многих последовательных строк - PullRequest
0 голосов
/ 01 мая 2019

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 *", которое я хотел бы получить при автозаполнении с последовательным усилением.Я не могу найти никакой помощи на других форумах.Извините, если это новый вопрос, я просто ищу помощь.

Изменения (дальнейшие пояснения) - 1-й - Спасибо за то, что вы очистили мой код.
-В строках (как показано ниже) значение "(" C4660 "), (" C4661 "), (" C4662 "), (" C4663 ") и т. Д.) Содержится в каждой строке. This ("C * ") ссылается на ячейку, в которую будут перенесены данные с другого листа. - Я только начинаю писать макросы и ищу эффективный способ дублирования этих строк, но с получением значения (" C * ") за счет1 в каждой строке подряд. Я стараюсь не касаться каждой строки ... - Мое самое первое ("C *") значение ("C12"). Мое конечное ("C *") значение должно быть примерно(«C15000»). - Пожалуйста, дайте мне знать, если я смогу добавить более подробную информацию, чтобы помочь

2-е РЕДАКТИРОВАНИЕ - Спасибо за помощь до сих пор! - К сожалению, ценность ("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 голосов
/ 01 мая 2019

Вы можете использовать цикл для этого:

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
...