VB(A) 197

폴더를 순환하며 파일을 루트로 옮기기

폴더를 선택하면 폴더 안의 하위 폴더도 모두 순환하며 최초 선택한 폴더로 파일을 모두 옮긴 후 폴더는 삭제하는 코드 파일명이 중복될 경우 난수를 생성해준다. 뤼튼 만세 ㅋㅋㅋ Sub MoveFilesInSelectedFolder() Dim sourceFolder As String Dim destFolder As String Dim fso As Object Dim sourceFolderObj As Object Dim destFolderObj As Object Dim subFolder As Object Dim file As Object Dim fileName As String, newFileName As String Dim fileExists As Boolean Dim rndNumber As Integer ..

VB(A) 2024.04.17

당비휴 근무일지 달력

3월에 휴가 미리 잡을려고 만든 달력 부산 당비휴 근무기준. 기존 코드에서 이리 붙이고 저리 붙이고 ㅋㅋㅋ Option Explicit Sub Calendar() '연도별 달력 만들기 Dim i As Integer Dim Days As Integer, StartDay As Integer Dim Row As Integer, cnt As Integer Dim InputYear As Integer Dim theDay As Date Dim formSheet As Worksheet Dim v(2) As String Dim SelectedDate As Date, StartDate As Date '매월 1일, 근무설정 기준일 Dim intCycle As Integer Dim cntW As Integer Set for..

VB(A) 2023.02.10

시트 숨기기 일괄 처리

시트는 많고 숨길 것도 많고 다시 보이게 할 것도 많은데 ​ 엑셀 버전이 낮아서 일괄 처리가 안 될 때 쉽게 처리할 수 있는 추가기능입니다. ​ 엑셀 파일 열어서 '매크로 사용 허용'을 해주시면 리본메뉴에 '추가기능' 탭이 생깁니다. ​ 추가기능 탭에 생성된 '시트 보이기 조정' 아이콘을 눌러보세요 Option Explicit Private Sub UserForm_Initialize() Dim i As Integer Dim j As Integer Dim roundUpSheetscount As Integer Dim chkboxLeft As Integer Dim chkBox As MSForms.checkbox '시트 숫자를 2로 나눔. 체크박스 줄 세우기 위한 용도 roundUpSheetscount = Wo..

VB(A) 2021.04.19

공휴일 적용된 달력

1년치 달력이 필요하게 되어서 어쩌다보니 만들게 되었다. DB시트에서 데이터를 불러와 달력에 출력하는 코드까지 완성 양력, 음력, 대체공휴일까지 적용 Option Explicit Sub Calendar() Dim i As Integer Dim Days As Integer, StartDay As Integer Dim Row As Integer, cnt As Integer Dim InputYear As Integer Dim theDay As Date Dim formSheet As Worksheet With Application .ScreenUpdating = False .EnableEvents = False .Calculation = xlCalculationManual '기존 워크시트 삭제 .DisplayA..

VB(A) 2021.02.10

유효성검사 유일값 가져오기

https://cafe.naver.com/excelmaster/190699의 질문으로 '발주번호'를 이용하여 '로데이터' 시트에 있는 자료를 가져오는 내용입니다. 1. 로데이터 시트의 발주번호 중 중복값은 제거하여 A3 셀에 유효성검사를 이용하여 발주번호를 선택하여 2. 고급필터로 필요한 데이터를 출력합니다. Option Explicit Sub 매크로2()'고급필터 매크로 Dim rawData As Worksheet Dim templateSheet As Worksheet Dim conditionRange As Range Dim printRawData As Range '시트 및 셀 영역 설정 Set rawData = Sheets("로데이터 시트") Set templateSheet = Sheets("템플릿"..

VB(A) 2021.01.19

미디어 파일을 날짜별로 분류

사진을 자주 정리하는 것이 아니다보니 날짜별로 폴더 생성하기가 힘들어서 만들어낸 매크로입니다. 기존에 있던 https://dorobo.tistory.com/508 파일은 생성된 일짜가 아니라 마지막 수정날짜를 기준으로 폴더를 만들어서 제가 사용하기엔 안 맞는 부분이 있어서 새로 만들었습니다. 사용법이라고 할 것도 없습니다. 1. 모든 미디어(이미지, 동영상 등) 파일을 한 폴더에 모아줍니다. 2. 파일을 실행하면 '추가기능' 탭이 생기면서 '날짜별 분류' 라는 아이콘이 생깁니다. 3. '날짜별 분류' 아이콘을 클릭하면 폴더를 선택하는 대화창이 뜹니다. 4. 미디어 파일을 모아둔 폴더를 선택하면 나머지는 알아서 합니다. 5. 콘텐츠 생성일자를 먼저 기준으로 삼고, 콘텐츠 생성일자가 없으면 수정일자를 기준으..

VB(A) 2019.12.25

경품 추첨

https://cafe.naver.com/excelmaster/165990 에 올라온 질문입니다. 경춤 추첨 프로그램 만드는데요.. 대한민국 모임의 시작, 네이버 카페 cafe.naver.com 사다리나 명단 추첨을 하려는데 버튼을 누르자마자 명단이 짠 하고 나타나니 긴장감이 전혀 없습니다. 추첨은 쪼는 맛이 있어야하는데요. 그래서 슬롯머신 효과를 주어 이름이 나타나게 했습니다. 주로 방송에서 득표수같은 걸 나타낼 때 많이 쓰입니다. Option Explicit Private tmp() As String Private v As Variant Private Sub CommandButton1_Click() Dim cnt1 As Integer, cnt2 As Integer, cnt3 As Integer Dim..

VB(A) 2019.06.26

여러 개의 텍스트박스를 클릭하여 이름 알아내기

https://cafe.naver.com/excelmaster/165632 질문입니다. 유저폼에 여러 개의 텍스트박스가 있고 그 중 하나를 클릭하면 해당 텍스트박스의 이름이 출력되는 코드입니다. 텍스트박스가 몇개 없을 땐 텍스트박스마다 클릭 이벤트를 지정하면 되는데 개수가 많을 땐 그럴 순 없지요 클래스모듈의 WithEvents 를 이용하여 간결하게 코드를 만들 수 있습니다. 먼저 클래스모듈 하나를 삽입하여 모듈 이름을 clsTextBox 로 변경한 후 아래 코드를 삽입합니다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 Option Explicit Private WithEvents MyTextBox As MSForms.TextBox Public Property Set..

VB(A) 2019.06.17

[정규식] 단어 들어 있는 문장찾기

https://cafe.naver.com/excelmaster/164935 에 올라온 질문입니다. 특정 단어가 포함된 문장을 출력하는 내용입니다. 정규식을 이용해 문장을 추출한 후 문장을 순환하며 단어를 골라내는 흐름입니다. Option ExplicitFunction FindText(MySub As String, MyText As String) As String Dim i As Integer Dim v As Variant '문장 단위로 끊음 v = GetText(MySub) '단어가 포함된 문장 추출 For i = 0 To UBound(v) + 1 If InStr(1, v(i), MyText, vbTextCompare) Then FindText = v(i) Exit Function End If NextE..

VB(A) 2019.06.03