<Excel VBA> 테이블에서 데이터를 추출하여 다른 시트에 테이블 작성
8102 단어 신인 프로그래머 응원VBA매크로초보자Excel
개요
이 문서에서는 Excel 테이블에서 지정된 키 행을 추출하고 별도의 시트에 테이블을 만드는 매크로 처리 VBA 소스 코드를 게시합니다.
필요한 시트
이 문서에서는 소스 코드 앞에 매크로를 실행하는 데 필요한 Excel 시트를 간략하게 설명합니다.
우선 추출원이 되는 표입니다.
화상에서는 아래가 끊어지고 있습니다만, 47 도도부현의 도도부현청 소재지, 시·정·마을 각각의 수를 표로 하고 있습니다.
①「도도부현 일람」시트
계속해서, 키가 되는 「코드」만을 기재한 시트입니다.
특정 행만 추출할 수 있도록 필터 기능을 사용하고 있습니다.
②「키(코드)」시트
추출한 행에서 테이블을 작성하는 시트입니다.
실행 버튼을 클릭하여 매크로를 실행하고 테이블을 만듭니다.
③「추출 결과」 시트
소스 코드
①의 표로부터 ②로 지정한 행만을 추출해, ③에 표를 작성한다고 하는 처리 내용입니다(시트를 번호로 표기).Sub Prefectures()
Dim ws_pref As Worksheet: Set ws_pref = Worksheets("都道府県一覧")
Dim ws_key As Worksheet: Set ws_key = Worksheets("キー(コード)")
Dim ws_result As Worksheet: Set ws_result = Worksheets("抽出結果")
With ws_key
.Range("a1").CurrentRegion.SpecialCells(xlVisible).Copy ws_result.Range("a1")
If .FilterMode = True Then
.ShowAllData
End If
End With
Dim arr As Variant
With ws_result
arr = .Range(.Range("a2"), .Cells(Rows.Count, 1).End(xlUp))
End With
Dim brr As Variant
brr = WorksheetFunction.Transpose(arr)
Dim strArray() As Variant
Dim i As Integer
For i = 1 To UBound(brr)
ReDim Preserve strArray(i - 1)
strArray(i - 1) = str(brr(i))
Next
With ws_pref
.Range("a1").AutoFilter field:=1, Criteria1:=strArray, Operator:=xlFilterValues
.Range("a1").CurrentRegion.SpecialCells(xlVisible).Copy ws_result.Range("a1")
.AutoFilterMode = False
End With
MsgBox "処理が完了しました"
End Sub
자세한 설명은 아래를 참조하십시오.
참고
· WorksheetFunction 정보
· WorksheetFunction(워크시트 함수 사용)
· AutoFilter
매크로 VBA 준비 및 실행 방법 등의 사용법은 다음 사이트에서 확인할 수 있습니다.
· Excel 매크로 사용법 입문(초보자용)! 작성 ~ 저장 방법까지
· 엑셀의 신수 Excel 매크로 VBA 입문편
덧붙여서, 나는 "엑셀의 신수"에서 공부했습니다. 실제로 손을 움직여 보는 것이 1번이라고 생각합니다.
매크로 VBA에 관계없이 바로 가기 키를 기억하는 것이 편리합니다!
실행 결과
②에서 키가 되는 「코드」를 선택(필터링)합니다.
※그림에서는 2, 13, 18, 21, 26을 선택
실행 버튼을 클릭하면 ②에서 선택한 행을 추출한 표가 ③에 작성되어 대화 상자가 표시됩니다.
Reference
이 문제에 관하여(<Excel VBA> 테이블에서 데이터를 추출하여 다른 시트에 테이블 작성), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/fumiya-konno/items/82e1009b5c8e98af9d1b
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
이 문서에서는 소스 코드 앞에 매크로를 실행하는 데 필요한 Excel 시트를 간략하게 설명합니다.
우선 추출원이 되는 표입니다.
화상에서는 아래가 끊어지고 있습니다만, 47 도도부현의 도도부현청 소재지, 시·정·마을 각각의 수를 표로 하고 있습니다.
①「도도부현 일람」시트
계속해서, 키가 되는 「코드」만을 기재한 시트입니다.
특정 행만 추출할 수 있도록 필터 기능을 사용하고 있습니다.
②「키(코드)」시트
추출한 행에서 테이블을 작성하는 시트입니다.
실행 버튼을 클릭하여 매크로를 실행하고 테이블을 만듭니다.
③「추출 결과」 시트
소스 코드
①의 표로부터 ②로 지정한 행만을 추출해, ③에 표를 작성한다고 하는 처리 내용입니다(시트를 번호로 표기).Sub Prefectures()
Dim ws_pref As Worksheet: Set ws_pref = Worksheets("都道府県一覧")
Dim ws_key As Worksheet: Set ws_key = Worksheets("キー(コード)")
Dim ws_result As Worksheet: Set ws_result = Worksheets("抽出結果")
With ws_key
.Range("a1").CurrentRegion.SpecialCells(xlVisible).Copy ws_result.Range("a1")
If .FilterMode = True Then
.ShowAllData
End If
End With
Dim arr As Variant
With ws_result
arr = .Range(.Range("a2"), .Cells(Rows.Count, 1).End(xlUp))
End With
Dim brr As Variant
brr = WorksheetFunction.Transpose(arr)
Dim strArray() As Variant
Dim i As Integer
For i = 1 To UBound(brr)
ReDim Preserve strArray(i - 1)
strArray(i - 1) = str(brr(i))
Next
With ws_pref
.Range("a1").AutoFilter field:=1, Criteria1:=strArray, Operator:=xlFilterValues
.Range("a1").CurrentRegion.SpecialCells(xlVisible).Copy ws_result.Range("a1")
.AutoFilterMode = False
End With
MsgBox "処理が完了しました"
End Sub
자세한 설명은 아래를 참조하십시오.
참고
· WorksheetFunction 정보
· WorksheetFunction(워크시트 함수 사용)
· AutoFilter
매크로 VBA 준비 및 실행 방법 등의 사용법은 다음 사이트에서 확인할 수 있습니다.
· Excel 매크로 사용법 입문(초보자용)! 작성 ~ 저장 방법까지
· 엑셀의 신수 Excel 매크로 VBA 입문편
덧붙여서, 나는 "엑셀의 신수"에서 공부했습니다. 실제로 손을 움직여 보는 것이 1번이라고 생각합니다.
매크로 VBA에 관계없이 바로 가기 키를 기억하는 것이 편리합니다!
실행 결과
②에서 키가 되는 「코드」를 선택(필터링)합니다.
※그림에서는 2, 13, 18, 21, 26을 선택
실행 버튼을 클릭하면 ②에서 선택한 행을 추출한 표가 ③에 작성되어 대화 상자가 표시됩니다.
Reference
이 문제에 관하여(<Excel VBA> 테이블에서 데이터를 추출하여 다른 시트에 테이블 작성), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/fumiya-konno/items/82e1009b5c8e98af9d1b
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
Sub Prefectures()
Dim ws_pref As Worksheet: Set ws_pref = Worksheets("都道府県一覧")
Dim ws_key As Worksheet: Set ws_key = Worksheets("キー(コード)")
Dim ws_result As Worksheet: Set ws_result = Worksheets("抽出結果")
With ws_key
.Range("a1").CurrentRegion.SpecialCells(xlVisible).Copy ws_result.Range("a1")
If .FilterMode = True Then
.ShowAllData
End If
End With
Dim arr As Variant
With ws_result
arr = .Range(.Range("a2"), .Cells(Rows.Count, 1).End(xlUp))
End With
Dim brr As Variant
brr = WorksheetFunction.Transpose(arr)
Dim strArray() As Variant
Dim i As Integer
For i = 1 To UBound(brr)
ReDim Preserve strArray(i - 1)
strArray(i - 1) = str(brr(i))
Next
With ws_pref
.Range("a1").AutoFilter field:=1, Criteria1:=strArray, Operator:=xlFilterValues
.Range("a1").CurrentRegion.SpecialCells(xlVisible).Copy ws_result.Range("a1")
.AutoFilterMode = False
End With
MsgBox "処理が完了しました"
End Sub
· WorksheetFunction 정보
· WorksheetFunction(워크시트 함수 사용)
· AutoFilter
매크로 VBA 준비 및 실행 방법 등의 사용법은 다음 사이트에서 확인할 수 있습니다.
· Excel 매크로 사용법 입문(초보자용)! 작성 ~ 저장 방법까지
· 엑셀의 신수 Excel 매크로 VBA 입문편
덧붙여서, 나는 "엑셀의 신수"에서 공부했습니다. 실제로 손을 움직여 보는 것이 1번이라고 생각합니다.
매크로 VBA에 관계없이 바로 가기 키를 기억하는 것이 편리합니다!
실행 결과
②에서 키가 되는 「코드」를 선택(필터링)합니다.
※그림에서는 2, 13, 18, 21, 26을 선택
실행 버튼을 클릭하면 ②에서 선택한 행을 추출한 표가 ③에 작성되어 대화 상자가 표시됩니다.
Reference
이 문제에 관하여(<Excel VBA> 테이블에서 데이터를 추출하여 다른 시트에 테이블 작성), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/fumiya-konno/items/82e1009b5c8e98af9d1b
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
Reference
이 문제에 관하여(<Excel VBA> 테이블에서 데이터를 추출하여 다른 시트에 테이블 작성), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/fumiya-konno/items/82e1009b5c8e98af9d1b텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)