Диапазон Справочник Excel VBA - PullRequest
0 голосов
/ 14 февраля 2019

Привет! Я работаю над некоторым VBA, чтобы скопировать ячейки на другой лист в той же книге.Однако я сталкиваюсь с ошибкой.Вот вызов:

  1. Рабочий лист с данными для поиска.
  2. Я перебираю ячейки в столбце A и ищу слово Свойства: если слова найдены, я хочу скопировать и вставить специальные (транспонировать) значения в соседние ячейки до трех строк вниз на другой листв той же книге.Так, например, если в ячейке A9 найдено слово «Свойства», мне нужно скопировать значения в B10: B12 и вставить специальную транспонирование в следующую пустую строку на листе метаданных.
  3. Я получил его вскопируйте ячейку Offset (1,1), однако у меня возникли трудности с расширением диапазона копирования. См. код ниже. Закомментированный код работает нормально, но строка чуть ниже - это то, что я пытаюсь, но это не сработает.

    Private Sub Search_n_Copy()
    Application.ScreenUpdating = False
    Dim ws As Worksheet
    Set ws = Worksheets("Sheet1")
    Dim rngCopy As Range, aCell As Range, srchRng As Range
    Dim strSearch As String
    Dim QueryResults As Worksheet
    Set QueryResults = ThisWorkbook.Sheets.Add(After:=Worksheets(Worksheets.Count))
    QueryResults.Name = "MetaData"
    strSearch = "Properties"
    Dim LastRow As Long
    
    
    With QueryResults
    QueryResults.Range("A1").Value = "SI_ID"
    QueryResults.Range("B1").Value = "SI_NAME"
    QueryResults.Range("C1").Value = "SI_WEBI_DOC_PROPERTIES"
    End With
    
    
    With ws
    LastRow = .Cells(.Rows.Count, "A").End(xlUp).Row ' last row in column A
    Set srchRng = .Range("A1:A" & LastRow)
    For Each aCell In srchRng
     If aCell.Value = "Properties" Then
     ''aCell.Offset(1, 1).Copy
     .Range("aCell.Offset(1, 1):aCell.Offset(3,1)").Copy
      QueryResults.Cells(Rows.Count, 1).End(xlUp).Offset(1, 0).PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= _
        False, Transpose:=True
     End If
     Next aCell
    End With
    Application.CutCopyMode = False
    Application.ScreenUpdating = True
    End Sub
    
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...