Я создаю небольшой проект, который позволит пользователю импортировать и экспортировать данные с рабочего листа в другой. Я приложу скриншоты, чтобы попытаться объяснить, чего я пытаюсь достичь. У меня есть раздел импорта моей программы, работающий без сбоев, и я могу импортировать все задания, которые имеют цвет «Красный» со второго рабочего листа. Однако, как только строка будет изменена на цвет «Зеленый» на листе 1, она будет экспортирована обратно на лист 2 и, в свою очередь, изменит однократное «красное» задание на «Зеленый», не производя другие строки на листе 2.Сравнение диапазонов и копирование
Я попытался реализовать код так хорошо, как мог, но я продолжаю получать ошибки при сравнении моей уникальной ячейки в обоих диапазонах.
Как просто теперь, когда я запускаю код будет копировать значения в 10 раз и оклеивают все данные из строки «A4» грести «A14»
Рабочий лист Один
Рабочий лист Два
Sub Button3_Click()
'@Author - Jason Hughes(AlmightyThud)
'@Version - 1.0
'@Date - 0/03/2015
'@Description - To Export all Completed Jobs to the "Daily Work Orders" Spreadsheet
'Once exported it will scan for the unique job number in the list and override the existing values
Application.Calculation = xlCalculationAutomatic
Application.ScreenUpdating = False
Application.EnableEvents = False
'Declare initial variables for this button'
Dim copyComplete As Boolean
copyComplete = False
Dim lR As Long
'----------------------------------'
'#When this code is uncommented it will delete all values in column A#'
Dim jobID As Range
Dim jobID2 As Range
Set jobID = Sheets("Daily Screen Update").Range("A4:A31")
Set jobID2 = Sheets("Daily Work Orders").Range("A4:A10000")
'----------------------------------'
'Activate the sheet you will be looping through'
ThisWorkbook.Sheets("Daily Screen Update").Activate
'Simple loop that will loop through all cells to check if the cell is green'
'If the cell is green then the loop will copy the cell, once copied the loop will check'
'the "Daily Work Orders" Sheet for a job ID with a similar ID and paste over it'
For Each greenjob In Range("A4:A31")
If greenjob.Cells.EntireRow.Interior.Color = RGB(146, 208, 80) Then
greenjob.Cells.EntireRow.Copy
For j = 4 To 31
For i = 4 To 10
If jobID.Cells(j, 1).Value = jobID2.Cells(i, 1).Value Then
Sheets("Daily Work Orders").Range("A" & j).PasteSpecial xlPasteAll
copyComplete = True
End If
Next i
Next j
End If
Next
'Make a check to ensure that the data has been copied
If copyComplete = True Then
MsgBox ("All completed jobs have been have been added to Daily Work Orders")
ElseIf copyComplete = False Then
MsgBox ("Nothing has been added to Daily Work Orders")
End If
Application.ScreenUpdating = True
Application.EnableEvents = True
Application.CutCopyMode = False
End Sub