Excel 작업 표에는 '작업'과 '도시'라는 두 개의 시트가 있습니다. '작업'시트의 레코드 유효성 검사 코드를 '도시'시트의 코드와 비교해야합니다. 나는 두 개의 서로 다른 통합 문서에서 동일한 작업을 수행 할 경우 두 개의 다른 Excel 통합 문서의 열을 비교하는 방법
Dim CityString As String
Dim CityArray() As String
'Get the last row
'Dim lastRow As Integer
LastRow = Sheets("Task").UsedRange.Rows.Count
nLastRowSheet2 = Sheets("Cities").UsedRange.Rows.Count
Dim c As Range
Dim d As Range
Dim e As Variant
'Turn screen updating off to speed up macro code.
'User won't be able to see what the macro is doing, but it will run faster.
Application.ScreenUpdating = False
For Each c In Worksheets("Task").Range("A2:A" & LastRow)
CityString = c
CityArray() = Split(CityString, ";")
For Each e In CityArray()
e = Trim(e)
Dim rngFnder As Range
On Error Resume Next
Set rngFnder = Sheets("Cities").Range("A2:A" & nLastRowSheet2).Find(e)
If rngFnder Is Nothing Then
c.Interior.Color = vbRed
End If
On Error GoTo 0
Next
Next
는 지금은 또 다른 요구 사항이 다음과 같이
나는 그것을 할 수 있어요.
('작업'과 '도시'시트는 두 개의 서로 다른 통합 문서에있는)사람이 말해 줄 수; 위 코드에 대한 모든 변경 사항은 무엇입니까?
"For Each"줄에서는 워크 시트 ("작업") 대신 wrk.Worksheets ("작업")을 사용해야합니다. 첫 번째는 열려있는 통합 문서를 나타내고 두 번째는 현재 활성화되어있는 통합 문서를 나타냅니다. –
어떤 라인이 고장입니까? 오류가 발생하면 제거하고 오류를보고 다음에 약간의 정보를 제공하십시오. – Dubison
@PaulKelly Buddy; 이거 작동 안 할거야. 마찬가지로 '작업'시트의 레코드를 '도시'시트와 비교하고 있습니다. '작업'이 활성 시트입니다. Range is Task 시트에 루프를 적용 할 때마다 변경하지 않아도됩니다. 권리? – Avidan