Здравствуйте, я попробовал следующий код, чтобы помочь мне копировать данные с одного листа на другой с одним условием (копировать только строки с «Завершено - Назначение сделано/Complété - Nomination faite» (Range (AB)). Я ничего не вижу когда я нажимаю на кнопку.копировать данные с одного листа на другой?
любая помощь приветствуется
Sub copier()
Dim ws1 As Worksheet, ws2 As Worksheet, src As Range, dest As Range, i As Integer
Set ws1 = Worksheets("Workload - Charge de travail")
Set ws2 = Worksheets("Sheet1")
For i = 2 To ws1.Range("A1").SpecialCells(xlLastCell).Row
Set src = ws1.Range("A2:AL50") ' la selection des plages de donnees
Set dest = ws2.Range("A2:AL50")
If src.Cells(i, 31).Value = "Completed - Appointment made/Complété - Nomination faite" Then
'(i,31) for my drop down list
src.Copy Destination:=dest ' page source
dest.Value = dest.Value 'destination page
End If
Next i
End Sub
Согласно [странице MSDN на Range.Cells] (https://msdn.microsoft.com/ en-us/library/office/ff196273.aspx) свойство 'Cells (x, y)' возвращает определенную ячейку в вашем диапазоне. Это относительно диапазона, чью ячейку вы находите. В вашем примере вы ссылаетесь на 'ws1.Range (« A2: AL50 »)'. Имеет ли столбец 32 текст, который вы ищете, или находится в столбце 31? –
его выпадающий список и он существует в каждой строке и заполнен 3 параметрами, его в столбце 28. Если src.Cells (i, 28) .Value = «Завершено - Назначение сделано/Complété - Назначение faite» –
Столбец 28 на листе будет ссылаться на 'src.Cells (i, 28)'. Попробуйте это и посмотрите, поможет ли это. В исходном посте у вас есть 'src.Cells (i, 31)'. –