скопировать и вставить значение в конец таблицы данных для каждого листа в книге - PullRequest
0 голосов
/ 16 января 2019

У меня есть разные листы в рабочей тетради.На каждом листе в «C1» есть значение, которое я хочу применить ко всем строкам, начиная с «K8» и до последней строки данных.Я хочу сделать это для каждого листа.

Мне удалось скопировать и вставить значение на лист.Но заполнение значения до конца данных - сложная часть для меня.

Selection.AutoFill работает только для активного листа.Это делает работу правильно, но все другие листы, только заполнены "K8".

Dim sh As Worksheet

For Each sh In ActiveWorkbook.Worksheets
        If (sh.Name <> "bla") And (sh.Name <> "blub") Then
            With sh
            sh.Range("C1").Copy
            sh.Range("K8").PasteSpecial Paste:=xlPasteValues
            Selection.AutoFill Destination:=Range(Selection, ActiveCell.Offset(0, -1).End(xlDown).Offset(0, 1))
            End With
        End If
    Next sh

Я бы хотел, чтобы часть автозаполнения работала для всех листов рабочей книги.Кто-нибудь может помочь?

1 Ответ

0 голосов
/ 16 января 2019

Непонятно, как вы определяете последний ряд. Я использовал J в качестве справочного столбца, поэтому измените в соответствии с. Как говорит PEH, использование Select (ion) рискованно как

Sub x()

Dim sh As Worksheet, n As Long

For Each sh In ActiveWorkbook.Worksheets
    If (sh.Name <> "bla") And (sh.Name <> "blub") Then
        With sh
            n = .Range("J" & Rows.Count).End(xlUp).Row
            .Range("K8:K" & n).Value = .Range("C1").Value
        End With
    End If
Next sh

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