Option Explicit
Sub Harmful_Material_Check()
Dim i As Integer
Dim oCel As Range, cCel As Range
Dim OurMat As Range, ChkMat As Range
' 우리회사와 체크할 물질의 범위 선정
Set OurMat = Range("C2", Range("C65536").End(xlUp))
Set ChkMat = Range("G2", Range("G65536").End(xlUp))
' 속도를 위해 화면 갱신 중지
Application.ScreenUpdating = False
' 기존 자료 삭제
Range("I1", Range("K65536").End(xlUp)).ClearContents
' 제목항 삽입
Cells(1, 9) = Cells(1, 5)
Cells(1, 10) = Cells(1, 6)
Cells(1, 11) = Cells(1, 7)
' 각 물질을 하나씩 비교해서 같으면 특정위치로 옮김
' Trim함수를 쓴 것은 우리 자료나 체크할 자료에
' 혹시 스페이스가 앞뒤로 있을 경우가 있으므로
For Each oCel In OurMat
For Each cCel In ChkMat
If Trim(oCel) = Trim(cCel) Then
Cells(i + 2, 9) = i + 1
Cells(i + 2, 10) = oCel.Offset(0, -1)
Cells(i + 2, 11) = oCel
i = i + 1
Exit For
End If
Next cCel
Next oCel
' 비교된 자료의 컬럼을 글자수에 따라 자동 맞춤
Columns("I:K").AutoFit
Set OurMat = Nothing
Set ChkMat = Nothing
' 화면 갱신
Application.ScreenUpdating = True
End Sub
6월 22 2016
엑셀(EXCEL) – 회사 사용 물질과 협력사 규제 물질 리스트 비교하여 추출
요즘 자동차나 화학 계통의 일을 하시는 분은 자사의 제품내에 포함된 물질이 EU나 일본 수출,
아니면 국내 자동차 등의 유해한 물질로 등록된 것이 있는지 메일을 많이 받아 보실 것입니다.
자료로 오는 것이 몇 백개로 자사에 등록된 물질과 비교하는 것이 정말 하나 하나 단순비교를
하게된다면 눈에 핏발이 서고 눈물이 나올 정도입니다.
대부분 제품명과 CAS NO로 처리된 첨부화일이 올텐데요. 자사도 마찬가지로 MSDS 자료를 통한
CAS NO를 리스트로 보관하고 있을 것입니다. 이것을 자동으로 비교하는 루틴을 만들어 사용하면
바로 규제물질과 현 사용물질을 리스트화 시킬 수 있을 것으로 보여 간단하게 만들어 보았습니다.
첨부 파일 : 20160622-규제물질 비교 방법
By vinipapa • 무른모 • 0 • Tags: 비교물질 추출, 엑셀