Страницы: 1
RSS
По условию (да/нет) переносить Ф.И.О. сотрудника на другой лист.
 
Код
Sub Update()
Dim OT As Range

For Each OT In ThisWorkbook.Worksheets("Матрица").Range("B2:B7")
    If OT = "да" Then
    
    ThisWorkbook.Worksheets("График").Range("A2") = OT.Offset(0, -1)
 
     ElseIf OT = "нет" Then
   
    ThisWorkbook.Worksheets("График").Range("A2").Delete
    End If
    
    Next OT
End Sub
Добрый день!

Только начал изучать VBA. Прошу помощи в простом макросе.
Суть в том, что надо по условию (да/нет) переносить Ф.И.О. сотрудника на другой лист. Если да -  перенос на лист "График", если нет, то удаление из "Графика".

Прошу Вас указать где ошибки в коде:
Изменено: vikttur - 14.09.2021 22:48:10
 
Цитата
caicer написал:
перенос на лист "График",
Перенос вы точно имеете ввиду или же копирование?
Код
Sub Update()
Dim OT As Range, cell As Range, sh1 As Worksheet, sh2 As Worksheet, arr, i As Long, k As Long
Set sh1 = Worksheets("Матрица")
Set sh2 = Worksheets("График")
arr = sh1.Range("A2:B6")
k = 2
sh2.Range("A2:A7").ClearContents
For i = LBound(arr) To UBound(arr)
    If arr(i, 2) = "да" Then
        sh2.Cells(k, 1) = arr(i, 1)
        k = k + 1
    End If
Next i
End Sub

Изменено: Mershik - 14.09.2021 16:48:44
Не бойтесь совершенства. Вам его не достичь.
 
Mershik, большое спасибо!
Вы очень помогли.

К сожалению, так и не понял как вы это сделали.
Тему можно закрывать.
Изменено: caicer - 14.09.2021 16:58:12
Страницы: 1
Наверх