VBA 6

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

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

시간대별 근무인원 구하기

일별, 직원별, 시간대별 근무현황을 구하는 매크로. 배열을 써 본 처음의 매크로다. 약간 이해가 가는지도. 월간 시트에서 A1 셀을 클릭하면 된다. Option Explicit Sub qWork() Dim cntDay As Integer '일수 Dim cntTime As Integer '하루업무시간 Dim cntWorker As Integer '직원숫자 Dim var() As Integer '일자별 근무인원 넣을 배열 Dim tmWork As Range '월별 작업시간 10시 Dim tmOn As Range '직원별 출근시간 Dim i As Integer, j As Integer, k As Integer '작업 속도 높이기 Application.ScreenUpdating = False Applicatio..

VB(A) 2015.02.10

Select Case 를 활용한 다중 조건 처리

엑셀마스터에 올라온 질문 글. 상품 및 개수의 셀을 보면 한 셀에 품목이 두개 이상 입력된 것도 있고 품목과 주문 개수가 한 셀에 있어 이것을 분리하고 싶다는 내용의 질문이다. 품목을 보면 '/'를 기준으로 나뉘어져있어서 텍스트 나누기를 통해 셀을 나누고 Select Case 구문과 품목별 원문자를 이용하여 제품별로 글자개수를 파악하여 품목과 주문개수를 나누었다. 작업을 할 수록 느끼지만, 코드를 짜는 것은 코딩 능력과 동시에 문제를 해결해나가는 요령이 많이 필요하다. 상품 개수를 파악할 때 instr 함수를 이용하여 숫자만 빼려고 했는데 알 수 없는 에러에 봉착하여 하는 수 없이 작업이 완료된 후에 replace 함수를 이용하여 "개"를 빼도록 했다. 왜 에러가 나는지 도무지 모르겠네. 처음 만든 결과..

VB(A) 2015.01.28

내 맘대로 의뢰받은 척 하고 만듬

엑셀 카페에 올라온 Q&A 품목명에 콤마를 기준으로 여러항목이 있는데 이것을 하나하나 풀고 싶다는 질문이 올라와있었다. 왠지 도전해보고 싶어서 코드를 짜보았다. 원래는 품목을 풀어서 바로 밑에 Row를 삽입하여 지들끼리 붙여놓으려고 했는데 내 실력으로는 도저히 무리라 품목명의 맨 밑으로 품목을 풀어서 넣고 거래처나 거래일자를 붙여넣었다. 그리고 영문을 알 수 없는 I78 셀의 '1'의 정체. 아무리 소스를 들여다봐도 왜 1이 생기는 건지 알 수가 없다. 카페에 올라온 글이니 올려도 괜찮으리라 보고 ㅋㅋㅋ

VB(A) 2015.01.15

월별 식단표 v3

달력 컨트롤을 이용해 일자별 식단표를 만들어보았다. 스크린샷에는 보이지 않지만 1월부터 12월까지 12개 시트로 각 일자별로 식단이 짜여있고 달력을 클릭하면 해당 일자의 식단을 가져오게 되어있다. 기존 사용하던 사용자폼은 삭제하고 달력 컨트롤만 삽입하였다. 확실히 날짜 선택은 달력이 갑이지. 근데 달력컨트롤이 다른 엑셀 버전에선 에러가 난다는 제보가 ㅠ 게다가 다른 pc에서도 안 열릴 수도 있겠다. 이럴 수가 ㅠ Option ExplicitPrivate Sub Calendar1_Click() Dim calYear As Integer Dim calMonth As Integer Dim calDay As Integer Dim calYoil As String Dim c As Range Dim i As Integ..

VB(A) 2015.01.13