메뉴

Get_DB

Function

지정한 시트에서 사용 중인 범위를 배열로 반환하는 VBA 사용자 지정 함수입니다.

Get_DB 코드 미리보기
구문 = Get_DB ( 시트, [ID없음], [머릿글포함] )
인수구분 형식 설명
시트 필수 Worksheet
배열로 변환할 시트 개체입니다.
사용 중인 통합문서의 시트명으로 입력하려면 ThisWorkBook.WorkSheets("시트명") 으로 입력합니다.
ID없음 선택 Boolean
머릿글 우측에 신규 ID 값이 없을 경우 TRUE로 입력합니다. 기본값은 FALSE 입니다.
머릿글포함 선택 Boolean
TRUE일 경우 배열에 머릿글을 포함합니다. 기본값은 FALSE 입니다.

마스터 코드

복사한 코드는 VBA 편집기(Alt + F11) 새 모듈에 붙여넣어 사용하세요
Module1 · Get_DB
Function Get_DB(WS As Worksheet, Optional NoID As Boolean = False, Optional IncludeHeader As Boolean = False) As Variant
'###############################################################
'오빠두엑셀 VBA 사용자지정함수 (https://www.oppadu.com)
'수정 및 배포 시 출처를 반드시 명시해야 합니다.
'■ Get_DB 함수
'■ 지정한 시트의 값을 배열로 반환합니다. 시트의 값은 반드시 A1셀에서 시작해야 합니다. 머릿글 우측으로 ID 값이 없을 경우 NoID를 TRUE로 사용합니다.
'■ 사용방법
'Array = Get_DB(ThisWorkBook.WorkSheets("시트명"), TRUE)
'▶ 인수 설명
'_____________WS : 배열로 변환할 시트 개체입니다.
'_____________NoID : 머릿글 우측에 신규 ID값이 없을 경우, TRUE로 사용합니다. 기본값은 FALSE 입니다.
'_____________IncludeHeader : True일 경우 배열에 머릿글을 포함합니다. 기본값은 FALSE 입니다.
'###############################################################
Dim cRow As Long
Dim cCol As Long
Dim offCol As Long
If NoID = False Then offCol = -1
With WS
cRow = .Cells(.Rows.Count, 1).End(xlUp).Row
cCol = .Cells(1, .Columns.Count).End(xlToLeft).Column + offCol
Get_DB = .Range(.Cells(2 + Sgn(IncludeHeader), 1), .Cells(cRow, cCol))
End With
End Function

활용 예제

'DB' 시트의 데이터를 배열로 반환
Dim Arr As Variant
Arr = Get_DB(ThisWorkBook.WorkSheets("DB"))
머릿글을 포함해 배열로 반환
Dim Arr As Variant
Arr = Get_DB(ThisWorkBook.WorkSheets("DB"), , True)

안내사항

시트의 값은 반드시 A1 셀부터 시작해야 하고, 병합된 셀이 없어야 하며, 머릿글은 1행에 입력되어야 합니다.
ID를 사용할 경우 ID는 반드시 A열에 입력합니다.
댓글 5
4.8 (4개 평가)
WooBeom
WooBeom 2022.01.06 08:37
배열은 아직도 이해가 부족한 느낌입니다.
김범태
김범태 2024.05.12 16:43
외부 라이브러리를 별도로 써야 하나요?
오빠두엑셀
오빠두엑셀 작성자 2024.05.14 15:25
안녕하세요.
외부 라이브러리는 필요하지 않습니다. :)
게시글에 남겨드린 코드를 붙여넣기해서 바로 사용하실 수 있습니다.
감사합니다.
강민준🤗
강민준🤗 2024.08.11 12:17
좋은 강의 감사합니다.
백가네
백가네 2025.02.03 19:41
유용한 내용이네요.
스크랩 완료