Excel에서 셀 값에 따라 전체 행을 다른 시트로 이동하는 방법은 무엇입니까?
셀 값에 따라 전체 행을 다른 시트로 이동하려는 경우, 이 문서가 도움이 될 것입니다.
VBA 코드를 사용하여 셀 값에 따라 전체 행을 다른 시트로 이동하기
Kutools for Excel을 사용하여 셀 값에 따라 전체 행을 다른 시트로 이동하기
VBA 코드를 사용하여 셀 값에 따라 전체 행을 다른 시트로 이동하기
아래 스크린샷과 같이, 특정 단어 “Done”이 C열에 있는 경우 Sheet1의 전체 행을 Sheet2로 이동해야 합니다. 다음 VBA 코드를 시도해 보세요.
1. Alt + F11 키를 동시에 눌러 Microsoft Visual Basic for Applications 창을 엽니다.
2. Microsoft Visual Basic for Applications 창에서 삽입 > 모듈을 클릭합니다. 그런 다음 아래 VBA 코드를 복사하여 창에 붙여넣습니다.
VBA 코드 1: 셀 값에 따라 전체 행을 다른 시트로 이동하기
Sub Cheezy()
'Updated by Kutools for Excel 2017/8/28
Dim xRg As Range
Dim xCell As Range
Dim I As Long
Dim J As Long
Dim K As Long
I = Worksheets("Sheet1").UsedRange.Rows.Count
J = Worksheets("Sheet2").UsedRange.Rows.Count
If J = 1 Then
If Application.WorksheetFunction.CountA(Worksheets("Sheet2").UsedRange) = 0 Then J = 0
End If
Set xRg = Worksheets("Sheet1").Range("C1:C" & I)
On Error Resume Next
Application.ScreenUpdating = False
For K = 1 To xRg.Count
If CStr(xRg(K).Value) = "Done" Then
xRg(K).EntireRow.Copy Destination:=Worksheets("Sheet2").Range("A" & J + 1)
xRg(K).EntireRow.Delete
If CStr(xRg(K).Value) = "Done" Then
K = K - 1
End If
J = J + 1
End If
Next
Application.ScreenUpdating = True
End Sub
참고: 코드에서 Sheet1은 이동하려는 행이 포함된 워크시트입니다. 그리고 Sheet2는 해당 행을 위치시킬 대상 워크시트입니다. “C:C”는 특정 값을 포함하는 열이며, 단어 “Done”은 행을 이동할 기준이 되는 특정 값입니다. 필요에 따라 변경하세요.
3. 코드를 실행하기 위해 F5 키를 누르면, Sheet1에서 조건을 충족하는 행이 즉시 Sheet2로 이동됩니다.
참고: 위의 VBA 코드는 지정된 워크시트로 이동한 후 원본 데이터에서 행을 삭제합니다. 만약 셀 값에 따라 행을 삭제하지 않고 복사하고 싶다면, 아래 VBA 코드 2를 적용하세요.
VBA 코드 2: 셀 값에 따라 전체 행을 다른 시트로 복사하기
Sub MoveRowBasedOnCellValue()
'Updated by Extendoffice 2017/11/10
Dim xRg As Range
Dim xCell As Range
Dim I As Long
Dim J As Long
Dim K As Long
I = Worksheets("Sheet1").UsedRange.Rows.Count
J = Worksheets("Sheet2").UsedRange.Rows.Count
If J = 1 Then
If Application.WorksheetFunction.CountA(Worksheets("Sheet2").UsedRange) = 0 Then J = 0
End If
Set xRg = Worksheets("Sheet1").Range("C1:C" & I)
On Error Resume Next
Application.ScreenUpdating = False
For K = 1 To xRg.Count
If CStr(xRg(K).Value) = "Done" Then
xRg(K).EntireRow.Copy Destination:=Worksheets("Sheet2").Range("A" & J + 1)
J = J + 1
End If
Next
Application.ScreenUpdating = True
End Sub
Kutools for Excel을 사용하여 셀 값에 따라 전체 행을 다른 시트로 이동하기
VBA 코드에 익숙하지 않은 경우, 여기서 Kutools for Excel의 특정 셀 선택 기능을 소개합니다. 이 기능을 사용하면 특정 셀 값 또는 다양한 셀 값에 따라 모든 행을 쉽게 선택하고, 필요한 경우 선택한 행을 대상 워크시트로 복사할 수 있습니다. 다음과 같이 진행하세요.
1. 행을 이동할 셀 값이 포함된 열 목록을 선택한 다음, Kutools > 선택 > 특정 셀 선택을 클릭합니다. 스크린샷 보기:
2. 열리는 특정 셀 선택 대화 상자에서 선택 유형 섹션에서 전체 행을 선택하고, 특정 유형 드롭다운 목록에서 동일을 선택하며, 텍스트 상자에 셀 값을 입력한 다음 확인 버튼을 클릭합니다.
또 다른 특정 셀 선택 대화 상자가 나타나 선택된 행의 개수를 알려주며, 동시에 선택된 열에서 지정된 값을 포함하는 모든 행이 선택됩니다. 스크린샷 보기:
3. 선택된 행을 복사하기 위해 Ctrl + C 키를 누른 다음, 필요한 대상 워크시트에 붙여넣습니다.
참고: 두 가지 다른 셀 값에 따라 행을 다른 워크시트로 이동하려는 경우, 예를 들어 “Done” 또는 “Processing”이라는 셀 값에 따라 행을 이동하려면, 아래 스크린샷과 같이 특정 셀 선택 대화 상자에서 Or 조건을 활성화할 수 있습니다.
이 유틸리티를 무료로 체험해 보려면 (30일) 클릭하여 다운로드한 후, 위의 단계에 따라 적용하기 위해 계산을 진행하십시오.
관련 기사:
최고의 오피스 생산성 도구
? | Kutools AI Aide: 지능형 실행, 코드 생성, 사용자 정의 수식 작성, 데이터 분석 및 차트 생성, Kutools 함수 호출을 기반으로 데이터 분석 혁신… |
인기 기능: 중복 찾기, 강조 또는 식별 | 빈 행 삭제 | 데이터 손실 없이 열 또는 셀 결합 | 수식 없이 반올림 ... | |
슈퍼 LOOKUP: 다중 조건 VLookup | 다중 값 VLookup | 다중 시트 조회 | 퍼지 매치 .... | |
고급 드롭다운 목록: 빠르게 드롭다운 목록 만들기 | 종속 드롭다운 목록 | 다중 선택 드롭다운 목록 .... | |
열 관리자: 특정 개수의 열 추가 | 열 이동 | 숨겨진 열의 가시성 상태 전환 | 범위 및 열 비교 ... | |
주요 기능: 그리드 포커스 | 디자인 보기 | 향상된 수식 표시줄 | 통합 문서 및 시트 관리자 | 자동 텍스트 라이브러리 (Auto Text) | 날짜 선택기 | 데이터 병합 | 셀 암호화/해독 | 목록으로 이메일 보내기 | 슈퍼 필터 | 특수 필터 (굵은 글꼴/이탤릭체/취소선 필터링...) ... | |
최고의 15가지 도구 모음: 12개의 텍스트 도구 (텍스트 추가, 특정 문자 삭제, ...) | 50+ 차트 유형 (간트 차트, ...) | 40+ 실용적인 수식 (생일을 기반으로 나이 계산, ...) | 19개 삽입 도구 (QR 코드 삽입, 경로에서 그림 삽입, ...) | 12개 변환 도구 (단어로 변환하기, 통화 변환, ...) | 7개 병합 및 분할 도구 (고급 행 병합, 셀 분할, ...) | ... 그리고 더 많은 기능들 |
Kutools for Excel로 엑셀 스킬을 강화하고 지금까지 경험하지 못한 효율성을 체험하세요. Kutools for Excel은 생산성을 향상시키고 시간을 절약할 수 있는 300개 이상의 고급 기능을 제공합니다. 가장 필요한 기능을 얻으려면 여기를 클릭하세요...
Office Tab은 탭 인터페이스를 Office에 제공하여 작업을 훨씬 쉽게 만듭니다.
- Word, Excel, PowerPoint에서 탭 편집 및 읽기를 활성화하세요.
- 새 창 대신 동일한 창의 새 탭에서 여러 문서를 열고 생성하세요.
- 생산성을 50% 향상시키고 매일 수백 번의 마우스 클릭을 줄입니다!