업무를 하다보면 여러 파일 이름들을 일일이 타이핑 하거나, 복사/붙여넣기 해야 할 때가 있습니다.
이때 VBA를 사용하면 간단하게 원하는 파일의 모든 이름 또는 경로를 가져올 수 있습니다.
엑셀파일을 열고 상단의 메뉴 중 '개발도구' >> Visual Basic' 으로 들어갑니다.
'Microsoft Visual Basic for Applications' 창에서 상단의 '삽입' 메뉴를 눌러 '모듈'을 추가합니다.
모듈 창을 열어서 코드를 입력합니다.
전체 코드는 아래와 같습니다. ↓
Sub sbOpen_Filename()
Dim lngCount As Long, lngI As Long
Dim varArray As Variant, varArray2() As Variant
Dim strPath As String
On Error GoTo er
varArray = Application.GetOpenFilename(Title:="파일들을 선택하세요.", MultiSelect:=True)
If TypeName(varArray) = "Boolean" Then Exit Sub
lngCount = UBound(varArray)
ReDim varArray2(1 To lngCount, 1 To 1)
'경로파악
strPath = CurDir(varArray(1)) & "\"
'파일명 파악
For lngI = 1 To lngCount
varArray2(lngI, 1) = Dir(varArray(lngI))
Next lngI
'경로 및 파일명 출력
Cells(3, 1) = "경로 ▶ " & strPath
With Range("A6:B65536")
.ClearContents
.Interior.ColorIndex = xlNone
End With
Range(Cells(6, 1), Cells(lngCount + 5, 1)) = varArray2
MsgBox "파일명을 성공적으로 불러들였습니다.", vbInformation
Exit Sub
er:
MsgBox "에러가 발생하여 파일을 불러들이지 못했습니다.", vbInformation
End Sub
실행을 하게되면
파일선택창이 뜨게 됩니다. 여기에서 파일을 선택 후 '열기' 버튼을 클릭합니다.
성공했다는 메시지와 함께 파일명과 경로가 불러와서 입력이 되어 있습니다.
혹시 파일이 필요하시면, 아래 파일을 다운받아 사용하시기 바랍니다.
'엑셀 컴퓨터 인터넷 > 엑셀 VBA' 카테고리의 다른 글
엑셀 - sumif 와 sumifs (0) | 2020.12.18 |
---|---|
엑셀 VBA(매크로) - 자동으로 행, 열 맞추기 (0) | 2020.12.09 |
엑셀 - 엑셀 속도를 빠르게 하는 방법(이름 관리자) (0) | 2020.11.30 |
엑셀 - 느려진 엑셀 파일 속도를 빠르게 하는 방법 (연결편집 설정) (0) | 2020.11.29 |
엑셀 VBA(매크로) - 엑셀에서 스타일(Style) 제거 방법 (2) | 2020.11.28 |
댓글