Как я могу заставить VBA копировать формулы в расчетный диапазон на каждом рабочем листе, который соответствует шаблону? - PullRequest
0 голосов
/ 01 мая 2020

Я пытаюсь автоматизировать следующую проблему: у меня есть книга Excel с большим количеством цитат (каждая вкладка цитаты имеет формат «Q - #####»). Каждая вкладка цитаты имеет ряд расчетов. Я обновил ячейку "L6" на каждой вкладке. Начиная с 6-й строки, есть несколько SKU - каждая вкладка цитаты имеет различное количество SKU.

Ниже пытается сделать следующее:

  1. Определить, начинается ли рабочий лист с "Q -"
  2. Определить строку последнего SKU (Нет go после строки 100, поэтому я надеюсь, что это сэкономит время), затем я удаляю 5, потому что хочу посчитать количество строк после L6
  3. . Затем я хочу установить диапазон как L6 для последней строки, используя целое число, которое я определил на шаге 2
  4. Затем я хочу скопировать формулу в L6 и вставить ее в каждую ячейку моего диапазона (это очень длинная формула, использующая относительные ссылки, поэтому я хотел вставить формулы)

Я исправил предыдущую ошибку (спасибо BigBen), и теперь функция копирования / вставки работает только на первой идентифицированной Q-вкладке. На последующих вкладках Q я вижу, что он выбирает правильные диапазоны, но вставка не работает.

Бухгалтер здесь, поэтому я стараюсь изо всех сил, но полный новичок!


For Each ws In Worksheets
    If ws.Name Like "Q-*" Then
        Dim nRows As Integer
        nRows = ws.Range("L6:L100").Find(What:="*", LookIn:=xlValues, SearchOrder:=xlByRows, SearchDirection:=xlPrevious).Row
        nRows = nRows - 5

        Range("L6").Copy

        Dim cell As Range
        Set cell = Range("L6")
        cell.Resize(nRows, 1).Select

        cell.PasteSpecial (xlPasteFormulas)

    End If

Next ws

End Sub```
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...