Нужен код для цикла поиска строки, вырезания и вставки строки ячейки вниз на 1 строку - PullRequest
0 голосов
/ 26 мая 2019

Лист содержит данные о комиссионных для сотрудников.Данные сбрасываются из системы учета каждую неделю.Необходимо переместить ячейку заголовка «Итоги» вниз на 1 строку, чтобы выровнять соответствующие данные.

Попытался выполнить поиск по строке «Итоги», затем вырезать и вставить 1 строку ниже.Строка в col-A.Размер набора данных и строк содержимого меняется каждую неделю, но целевая строка всегда находится в столбце A и должна выпадать на 1 значение строки, вероятно, со стилем команды смещения (1, 0)?

Dim m As Integer
m = 2

Do Until m = 300 'this is set to cover the expected occurrences

On Error Resume Next
    Range(A1, A300).Cells("m", 0).Find(What:="Totals").Offset(1, 0) = "TOTALS"
m = m + 1
On Error GoTo 0
Loop

Ожидается, что содержимое ячейки с string = "Totals" переместится вниз на 1 строку.Нет сообщений об ошибках, но результатов тоже нет!

Ответы [ 2 ]

0 голосов
/ 26 мая 2019

Так что это то, что я думаю, что вы после.Определите диапазон, в котором лежат «итоги» - при условии, что они в ряд?См. Приведенный ниже код.

Sub LoopTotals()

    Dim cell As Range
    Dim myRange As Range

    'set the range
    Set myRange = Sheet1.Range("A1:AA1")

    'loop through range
    For Each cell In myRange
        'check if text is "Totals"
        If Trim(cell.Text) = "Totals" Then
            'set the new "Totals" 1 row lower
            cell.Offset(1, 0).Value = "Totals"
            'delete the old string value
            cell.ClearContents
        End If
    Next

End Sub

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

0 голосов
/ 26 мая 2019

Забудьте «Вырезать и вставить». Просто вставьте новую строку в строку «Итоги».

dim m as variant

m = application.match("totals", range("A:A"), 0)

if not iserror(m) then

    rows(m).insert

end if

(и ДА, вы должны квалифицировать свои родительские листы!)

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