이 페이지에서
구문
= Get_DB ( 시트, [ID없음], [머릿글포함] )
인수구분
형식 설명
시트
필수
Worksheet
배열로 변환할 시트 개체입니다.
사용 중인 통합문서의 시트명으로 입력하려면 ThisWorkBook.WorkSheets("시트명") 으로 입력합니다.
ID없음
선택
Boolean
머릿글 우측에 신규 ID 값이 없을 경우 TRUE로 입력합니다. 기본값은 FALSE 입니다.
머릿글포함
선택
Boolean
TRUE일 경우 배열에 머릿글을 포함합니다. 기본값은 FALSE 입니다.
마스터 코드
복사한 코드는 VBA 편집기(Alt + F11) 새 모듈에 붙여넣어 사용하세요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열에 입력합니다.
외부 라이브러리는 필요하지 않습니다. :)
게시글에 남겨드린 코드를 붙여넣기해서 바로 사용하실 수 있습니다.
감사합니다.