VBA вырезать всю строку и вставить в следующий столбец при изменении - PullRequest
0 голосов
/ 12 ноября 2018

В настоящее время VBA вставляет новую строку при изменении значения. Как мне изменить, чтобы он просто двигался вниз на один столбец, не вставляя новые строки. Я пытаюсь держать все на одной странице.

Например:

Пример

Sub InsertRowsAtValueChange() Dim rng As Range Dim WorkRng As Range On Error Resume Next xTitleId = "KutoolsforExcel" Set WorkRng = Application.Selection Set WorkRng = Application.InputBox("Range", xTitleId, WorkRng.Address, Type:=8) Application.ScreenUpdating = False For i = WorkRng.Rows.Count To 2 Step -1 If WorkRng.Cells(i, 1).Value <> WorkRng.Cells(i - 1, 1).Value Then WorkRng.Cells(i, 1).EntireRow.Insert End If Next Application.ScreenUpdating = True End Sub

1 Ответ

0 голосов
/ 12 ноября 2018

Трудно понять, куда вы хотите вставить весь ряд. Вы получите сообщение об ошибке, если скопируете всю строку, а затем попытаетесь вставить ее в столбец B. Возможно, приведенный ниже код поможет вам. Пункт назначения - это место, куда вы хотите поместить весь ряд.

Dim ws as Worksheet

Set ws = Worksheets("Sheet1")

    WorkRng.Cells(i, 1).EntireRow.Copy Destination:=ws.Cells(i, 1)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...