У меня есть рабочая тетрадь с большим количеством листов, предназначенная для того, чтобы помочь моей команде более эффективно управлять своей рабочей нагрузкой.

Когда кто-то запрашивает выполнение задания, на лист добавляется строка под названием «Ожидание авторизации».

Затем команда имеет раскрывающийся список для каждой строки / записи в столбце «N», который добавляется и может принять или отклонить задание.

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

Private Sub Worksheet_Change(ByVal Target As Range)

If Not Intersect(Target, Range("N:N")) Is Nothing Then
If Target.Cells.Count > 1 Or IsEmpty(Target) Then Exit Sub
Dim Lastrow As Long
Lastrow = Sheets("Status Check").Cells(Rows.Count, "N").End(xlUp).Row + 1

If Target.Value = "Accepted" Then
Rows(Target.Row).Copy Destination:=Sheets("Pending Work").Rows(Lastrow)
Rows(Target.Row).Delete
End If
End If
End Sub

Хотя это работает очень хорошо, я на самом деле хочу, чтобы только определенные ячейки этой строки были скопированы на другую рабочую таблицу, а не на всю строку. Есть ли простой способ выбрать только определенные ячейки из каждой строки для копирования?

1 ответ1

0

Вместо того, чтобы копировать всю строку, вы можете скопировать из Range("X" & Target.Row) и Range("Y" & Lastrow)

(где X и Y и исходный и целевой столбцы соответственно)

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .