'작업'과 '도시'두 장이있는 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
이제 두 개의 다른 통합 문서에서 동일한 작업을 수행해야하는 또 다른 요구 사항이 있습니다.
( '작업'과 '도시'시트는 서로 다른 두 개의 워크 북에 있습니다)
누구든지 말해 줄 수 있습니까? 위의 코드를 어떻게 변경해야합니까?
"두 개의 다른 엑셀 시트에"라고 말하면 다른 엑셀 통합 문서 파일에 있다는 뜻입니까?
다음 줄을 사용하면 활성 통합 문서의 "작업"시트를 참조하게됩니다.
Worksheets("Task").Range("A2:A" & LastRow)
통합 문서를 잘못 작성하지 않도록 지정해야합니다. thisWorkbook 사용은 코드가 포함 된 통합 문서를 참조합니다.
ThisWorkbook.Worksheets("Task").Range("A2:A" & LastRow)
현재 통합 문서를 포함하여 열려있는 통합 문서에 액세스하려면
Workbooks("example.xls").Worksheets("Task").Range("A2:A" & LastRow)
통합 문서가 닫혀 있으면 다음을 사용하여 열 수 있습니다.
dim wrk as Workbook
set wrk = Workbooks.Open("C:\Docs\example.xls")
wrk.Worksheets("Task").Range("A2:A" & LastRow)
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다