Найти общее описание и скопировать значения вставки на 4 строки вниз - PullRequest
0 голосов
/ 19 января 2019

Кто-нибудь знает, какую еще команду мне нужно использовать, чтобы скопировать метку строки «Всего расходов WI» на 4 строки ниже?

Следующий код найдет «Всего затрат WI» и скопирует его в диапазон, однако я просто хочу найти сумму и скопировать данные в 4 строки вниз. Их нужно скопировать и вставить как ценности.

Sub Test()
  Dim ws As Worksheet
  Set ws = ActiveSheet 
  Dim rw As Long, Cell As Range
  For Each Cell In ActiveSheet.Range("B:B")
    If Cell.Value = "Total WI Expenses" Then
      Cell.EntireRow.copy
      Range("A71").PasteSpecial (xlPasteValues)
      Application.CutCopyMode = False
    End If
  Next
End Sub

Я искренне ценю вашу помощь.

1 Ответ

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

Вместо выполнения цикла For по всему (!) Столбцу вы можете сначала проверить, есть ли что-то в столбце, а затем .Find требуемое значение. Если вы нашли результат, вы можете использовать его номер строки.

Вместо копирования / вставки вы можете просто назначить Range.Value для получения значений без форматирования.

Этот код копирует значения всей строки четырьмя строками ниже.

Sub Test()
    Dim ws As Worksheet
    Dim c As Range

    Set ws = ActiveSheet
    If WorksheetFunction.CountA(ws.Columns(2)) > 0 Then
        Set c = ws.Columns(2).Find( _
            What:="Total WI Expenses", _
            After:=ws.Cells(1, 2), _
            SearchOrder:=xlByRows, _
            SearchDirection:=xlNext)
        If Not c Is Nothing Then
            ws.Rows(c.Row + 4).Value = ws.Rows(c.Row).Value
        End If
        Set c = Nothing
    End If
    Set ws = Nothing
End Sub
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...