현재 다음 단계를 수행하는 수동 프로세스를 자동화하고 있습니다.
1. 사용자에게 데이터 파일을 열라는 메시지를 표시하고 파일을 엽니 다.
2. 4 개의 열을 삽입합니다.
3. 이미 파일에 있던 데이터를 사용하여 "DD / MM / YYYY TEXT"형식의 고유 한 문자열을 생성합니다. 여기서 text는 변수입니다.
4. if 문을 사용하여 마스터 데이터 파일 내에 행이 있는지 확인
5. d 열의 값이 "Exists"이면 마스터 데이터 파일에서 문자열을 찾고 vlookup 함수를 사용하여 데이터 파일에서 마스터 데이터 파일로 데이터를 전송합니다.
6. Else (값이 다른 경우) 다음 새 행 이름을 삽입 한 다음 vlookup 함수를 사용하여 데이터 파일에서 마스터 파일로 데이터를 전송합니다.
내 문제는 Unq.String이 가끔 / 드물게 정확히 일치하지 않는다는 사실에 있습니다. FIND 함수를 사용하면 "찾고있는 것을 찾을 수 없습니다. 더 많은 방법을 보려면 옵션을 클릭하십시오. 검색"
여러분에게 제 질문은이 오류 메시지를 받으면 다음 행으로 이동하기 전에 데이터를 "mop up"이라는 다른 탭에 붙여 넣는 방법이 있습니까? 5 단계와 6 단계에 대해 코드 내에서 LOOP를 사용하고 있습니다. 각 행을 아래로 이동해야하므로 루프를 끊지 않고는 어디서 시작해야할지 모르겠습니다.
미리 도와 주셔서 감사합니다. 상황에 대해 더 많은 정보가 필요하면 알려주세요.
Aaron
감사
편집 주석은 이것을 사용하는 방법을 설명합니다.
Dim ColumnD As String
Dim SearchValue As String
If ColumnD = "Exists" Then
'Find SearchValue in Master data sheet and vlookup
'ELSE Insert new row, add UNQ.String to New row then do the vlookup
'Loop untill using Rows.count + 1 and lastRow (Already declared)
이 질문은 이미 여기에서 살펴 보았습니다 : VBA Excel에서 무언가를 찾았는지 감지하는 방법 .
기본적으로 범위 변수를 결과 .find
범위 로 설정합니다 . 이 범위가 Nothing
아니면 아무것도 반환되지 않았으며 사용자에게 가장 적합한 방식으로 응답 할 수 있습니다.
편집 : OP의 추가 문의 당
Sub findsomething()
Dim foundsomething As Range
Dim searchterm As String
searchterm = "Search Term"
Set foundsomething = Application.ActiveSheet.Find(What:="search term", After:=ActiveCell, LookIn:=xlFormulas, _
LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:= _
False, SearchFormat:=False)
If (Not foundsomething Is Nothing) And columnD = "Exists" Then
' Do something
End If
End Sub
건배,
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다