두 개의 Excel 시트가 있습니다. 첫 번째 데이터에는 일부 데이터가 있습니다. 두 번째 페이지에는 업데이트 된 데이터가 있으므로 첫 번째 시트의 특정 정보를 변경하는 데 사용해야합니다.Excel에서 특정 셀 선택
예를 들면 : (첫 번째 시트에) 직원 임금과 그의 전화 번호가 있고 두 번째 시트에도 있습니다. 두 번째 시트에 직원 번호를 찾아 두 번째 시트에 명시된 임금에 따라 임금을 변경하는 코드를 작성하고 싶습니다.
두 개의 Excel 시트가 있습니다. 첫 번째 데이터에는 일부 데이터가 있습니다. 두 번째 페이지에는 업데이트 된 데이터가 있으므로 첫 번째 시트의 특정 정보를 변경하는 데 사용해야합니다.Excel에서 특정 셀 선택
예를 들면 : (첫 번째 시트에) 직원 임금과 그의 전화 번호가 있고 두 번째 시트에도 있습니다. 두 번째 시트에 직원 번호를 찾아 두 번째 시트에 명시된 임금에 따라 임금을 변경하는 코드를 작성하고 싶습니다.
VBA가 필요하지 않습니다.이 기능은 간단한 셀 기능 (VLOOKUP()
)을 통해 수행 할 수 있습니다.
시트 1 :
A B C D 1 Name No. Wage NewWage --------------------------------- 2 Adam 111 1000.00 [xxxx] 3 Brad 222 1300.00 4 Charly 333 2000.00
시트 2 :
A B C 1 Name No. Wage ----------------------- 2 Adam 111 1100.00 3 Brad 222 1400.00 4 Charly 333 2100.00
이 [xxxx]
에 대한 공식이 될 것이다는 :
=VLOOKUP(B2;Sheet2!B:C;2;FALSE)
이 두 번째 시트에서 각 사람에 대한 새로운 임금을 찾습니다. 수식을 채우십시오.
Sheet2의 값이 직원 번호순으로 정렬되어 있는지 확인하십시오. 그렇지 않으면 VLOOKUP()
이 값을 찾지 못합니다. 자세한 내용은 the help page for VLOOKUP()을 읽어보십시오. 당신은 화면 업데이트 및 자동 해제되지 않는 경우가 V 느릴 수 있습니다,
dim findHere as Range
dim result as Range
set findHere = Sheet2.Range("A:A")
set result = findHere.Find("EmployeeCode")
if not result is nothing 'you get 'nothing' back if it can't find it.
result.offset(0, 2).Value = "New Wage Here"
end if
아니면 세포를 통해 루프 (나는이 일하지만 가능하면 피할 것 수 :
당신은 .find 사용할 수 있습니다 직원 숫자는 두 번째 시트에 정렬하지 않을 경우 계산)
Dim r as Range
dim finished as boolean
set r = Sheet1.Range("A1")
do
if r.Value = <ID> finished = true
while not unfinished
' do stuff with r
, 당신은 또한 INDEX와 함께 MATCH를 사용할 수 있습니다 Tomalak의 예를 사용
양식 ULA는 [XXXX]을 될 경우 :
= INDEX (시트 2 C : C; MATCH (B2, 시트 2 B!의!의 B, 0)
사실상에서, MATCH 문 칼럼 B에서 행을 발견 직원 ID (B2)와 정확히 일치하는 2 번째 시트 그런 다음 INDEX는이 금액을 새 임금이 저장된 2 번 시트의 C 열로 오프셋합니다.
은 VLOOKUP (B2; Sheet2! B : C; 2; FALSE)이어야합니다 ... 두 번째 열을 돌려 주어야합니다. 수식을 값으로 변환하려면 모두 (ctrl-C)를 복사 한 다음 붙여 넣기 - 특수/붙여 넣기 값을 사용하여 방해 할 수있는 외부 파일에 대한 링크를 없애십시오. 특히이 파일을 전달하려는 경우 다른 사용자에게 – MikeD
물론. 감사합니다. – Tomalak
VLOOKUP이 값을 찾았는지 항상 확인합니다. 그렇지 않으면 오류가 반환됩니다. = IF (ISERROR (VLOOKUP (B2, Sheet2! B : C, 2, False)), "찾지 못함", VLOOKUP (B2, Sheet2! B : C, 2, False)) 또한 정확히 일치 시키려면 매핑 할 각 테이블에 고유 한 값을 지정하고 VLOOKUP의 마지막 매개 변수에는 항상 False를 사용하십시오. False를 사용하지 않으면 가장 가까운 항목을 찾습니다. –