VB(A)
-
빨간 글자를 찾아 대괄호 입히기VB(A) 2016. 12. 2. 21:55
- http://cafe.naver.com/excelmaster/133228 빨간 글자를 찾아 대괄호를 입혀주는 매크로빨간 글자를 찾는 사용자정의 함수를 따로 만들었다. Option Explicit Sub BigBracket() Dim i As Integer Dim tmp As String Dim RedRange As Range Dim SingleRange As Range '기존자료 삭제 후 데이터영역을 설정합니다. Columns("B").Clear Set RedRange = Range("A1", Cells(Rows.Count, 1).End(3)) '데이터 영역을 순환하며 작업을 실행합니다. For Each SingleRange In RedRange With SingleRange tmp = FindRed..
-
[ADO] 기간 설정하여 검색하기VB(A) 2016. 11. 18. 15:54
http://cafe.naver.com/excelmaster/132638 시트1에 DB가 있고시트2에서 기간 및 출발동 조건을 주어 검색버튼을 누르면조건에 해당하는 결과값을 출력해주는 SQL + 결과 출력 시트 + + DB 시트 + Option Explicit Sub Macro() Dim ADO_Connect As New ADODB.Connection Dim ADO_Record As New ADODB.Recordset Dim sql As String Dim ExcelVersion As Integer Dim OLEDB_Connect As String Dim FirstDay As Date Dim LastDay As Date Dim StartDong As String '파일 버전을 확인하여 OLEDB를 사용할..
-
[ADO] 중복제거 후 합계VB(A) 2016. 11. 16. 22:26
http://kin.naver.com/qna/detail.nhn?d1id=1&dirId=102020101&docId=264482360 중복제거된 품목을 출력하고 품목별 수량을 합계낸 결과물.품목이 두개 이상인 것만 출력한다. Option Explicit Sub Macro() Dim ADO_Connect As New ADODB.Connection Dim ADO_Record As New ADODB.Recordset Dim sql As String Dim ExcelVersion As Integer Dim OLEDB_Connect As String '파일 버전을 확인하여 OLEDB를 사용할 버전을 정합니다. 'ADO에 기본으로 들어가는 내용입니다. Select Case Application.Version Cas..
-
[ADO] 매장별 담당자 현황 출력VB(A) 2016. 11. 16. 20:29
- http://cafe.naver.com/excelmaster/132560 담당자별로 담당 중인 매장수를 출력해주는 SQL기본서에 나오는 내용임에도 응용이 아직 안 된다.기초를 더 다지고 응용도 열심히 해봐야지 Option Explicit Sub Macro() Dim ADO_Connect As New ADODB.Connection Dim ADO_Record As New ADODB.Recordset Dim sql As String Dim ExcelVersion As Integer Dim OLEDB_Connect As String '파일 버전을 확인하여 OLEDB를 사용할 버전을 정합니다. 'ADO에 기본으로 들어가는 내용입니다. Select Case Application.Version Case Is = ..
-
[ADO] 원하는 항목만 검색하여 별도의 시트에 출력하기VB(A) 2016. 11. 16. 12:26
http://kin.naver.com/qna/detail.nhn?d1id=1&dirId=102020101&docId=264443866 상호나 품명으로 검색하면 해당 결과를 별도의 시트에 출력해주는 매크로.신나신나 Option ExplicitPrivate OLEDB_Connect As StringSub GetExcelVersion() Dim ExcelVersion As Integer '파일 버전을 확인하여 OLEDB를 사용할 버전을 정합니다. Select Case Application.Version Case Is = 12: ExcelVersion = 12 Case Else MsgBox "엑셀 버전을 확인해주세요" Exit Sub End Select OLEDB_Connect = "Provider=Micros..
-
[ADO] 최대값 구하기VB(A) 2016. 11. 16. 11:05
http://kin.naver.com/qna/detail.nhn?d1id=1&dirId=102020101&docId=264399542 F3에서 제품명을 변경하면 그에 맞는 제품원가의 최대값을 불러오는 ADO.SQL을 공부하고 엑셀에 접목시켜보았다.역시 책으로만 보는 것과 직접 짜보는 것은 차이가 있네. Option ExplicitSub Macro() Dim 연결 As New ADODB.Connection Dim OLEDB_Connect As String Dim FilePath As String Dim rS As New ADODB.Recordset Dim sql As String '파일 버전을 확인하여 OLEDB를 사용할 버전을 정합니다. FilePath = ThisWorkbook.FullName Sele..
-
다른시트의 데이터 검색하여 출력하기VB(A) 2016. 10. 30. 17:41
- http://cafe.naver.com/excelmaster/131930 품번을 입력하면 다른 시트의 데이터에서 일치하는 항목을 불러오는 고급필터 예제입니다. Option ExplicitSub mSearch()'고급필터를 활용한 매크로입니다.'A2에 품번을 입력하고 버튼을 누르면 품번에 맞는 자료를 가져옵니다. Dim 품목대장 As Worksheet Dim wsList As Worksheet Dim 조건 As Range Dim 출력위치 As Range Set 품목대장 = Sheets("품목대장") Set wsList = Sheets("list") Set 조건 = 품목대장.Range("A1:A2") Set 출력위치 = 품목대장.Range("A7:F7") wsList.Range("A1").CurrentR..
-
글자나누기 - Split, 정규식VB(A) 2016. 10. 30. 11:17
- http://cafe.naver.com/excelmaster/131920 / 기준으로 나누어 셀에 출력.Split 과 정규식버전으로 나눔 자세한 사항은 주석 참조 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657Option Explicit Sub mSplit() Dim rnG As Range Dim Data As Range Dim v As Variant 'A열의 데이터를 순환합니다. '/ 를 기준으로 나누어 [ ] 를 제외한 데이터를 출력합니다. Set Data = Range("A1").CurrentRegion Range("C1").CurrentRegion.Cle..
-
시간별 그룹(피벗테이블)VB(A) 2016. 10. 30. 10:55
- http://cafe.naver.com/excelmaster/131866 피벗테이블의 기본기능을 이용하면 쉽게 풀리는 예제꼭 매크로로 할 것도 없이텍스트파일을 불러온 후 피벗을 새로고침해도 되는 일이다.아직 피벗에 약해서. 하나하나 뜯어봄자세한 것은 주석 참고 텍스트파일을 불러올 때 한줄씩 셀에 출력하다보니 속도에 문제가...일단 피벗에 초점을 두고..ㅋㅎ Sub LoadTextFile() Dim strFilter As String Dim strFile As Variant Dim i As Integer Dim v As Variant Dim Line As String '변수설정 ActiveSheet.UsedRange.Clear ChDir ThisWorkbook.Path strFilter = "텍스트파일..
-
주말, 법정공휴일, 대체공휴일이 적용된 달력VB(A) 2016. 10. 28. 00:28
주말과 법정공휴일까지만 적용되어 혼자만 쓰고 있던 달력을대체공휴일까지 적용되도록 수정했습니다. 대체공휴일 규칙을 어떻게 정하면 좋을까.. 고민고민을 하다가 의외로 간단하게 풀렸네요. Option Base 1Option Explicit ' ==================================================================='' A1 와 B1에 연, 월을 입력하면 기간에 맞춰서 달력이 수정됩니다.' 연도는 1990 ~ 2030년 사이에서 선택 가능합니다. 데이터 유효성검사에서 수정 가능합니다.' 주말, 공휴일, 대체공휴일이 강조됩니다. 대체공휴일은 2015 ~ 2029년까지 적용됩니다.' 음력변환 코드는 인터넷에서 찾았습니다. ' *제작자 : 당근쨈(dorobo99@gma..
-
기간에 맞춰서 셀에 색 입히기VB(A) 2016. 10. 26. 16:29
- http://cafe.naver.com/excelmaster/131563 Option Base 1Option ExplicitSub Macro() Dim wsData As Worksheet Dim wsChart As Worksheet Dim Data As Range Dim Tmp As Range Dim rngPaste As Range Dim i As Long Dim CellsColor() As Long Dim DataCount As Long ' 변수설정 구간 Set wsData = Sheets(1) Set wsChart = Sheets(2) ' 기존자료를 초기화 후에 데이터 붙여넣기 셀 선언 With wsChart.Range("A3") .CurrentRegion.Offset(2).Clear Set rn..
-
셀에 내용 입력시 도형 색 변화VB(A) 2016. 10. 25. 13:58
http://cafe.naver.com/excelmaster/131699 내용에 '완료'면 도형이 빨갛게'진행중'이면 파랗게 변하는 매크로 Private Sub Worksheet_Change(ByVal Target As Range) Dim clrFree&, strRng$ Dim Shp As Shape Application.ScreenUpdating = False '화면 업데이트 중지 With Target If .CountLarge > 1 Then Exit Sub '다중셀 선택 시 매크로 종료 If .Column 5 Then Exit Sub 'E열 이외의 셀 선택시 매크로 종료 strRng = .Address '데이터를 입력한 셀 주소 Select Case .Value Case "완료": clrFree =..
-
색이 입혀진 셀의 합계 구하기VB(A) 2016. 10. 24. 11:35
색이 입혀진 셀과 그렇지 않은 셀을 더하는 사용자정의 함수 =colorSum(A2:A5) 처럼 영역만 잡으면 색이 입혀진 셀을=colorSum(A2:A5,2) 처럼 뒤에 2를 넣으면 색을 입히지 않은 셀을 더한다. Function colorSum(rnGData As Range, Optional col As Integer = 1) As Long'영역만 잡으면 색 입혀진 셀을 더함'colorSum(A1:A4,2) 로 하면 색 안 입혀진 영역을 더함 Dim rnG As Range Dim tmp As Long Application.Volatile '사용자함수 재구동 For Each rnG In rnGData '영역 순환 Select Case col Case 1 '색이 입혀진 셀 합계 If rnG.Interior..
-
1~9 중 세가지 조합 경우의 수VB(A) 2016. 10. 22. 14:54
http://kin.naver.com/qna/detail.nhn?d1id=1&dirId=102020101&docId=262937009 고수님들의 소중한 조언 부탁드립니다. 다름이 아니라 엑셀 경우의 수 인데요1-9까지 3조합 입니다. 여기서 1-9까지 값을 주고 조합하면 합계가 나오게끔 하는 방법좀 알려주세요...아무리 찾아도 어렵네요...부탁드릴게요참고로 1,1,1 / 1,1,2/ . . . 이런식으로 나가게 하고싶어요 가능하시면 첨부파일도 부탁합니다. --------------------------------------------------------------------------------------------------- Option Base 1Option ExplicitSub Macro() D..
-
팀별, 팀원을 섞어서 출석부 만들기VB(A) 2016. 10. 19. 22:18
http://cafe.naver.com/excelmaster/131389 에 올라온 질문 7개 팀이 있고 한개 팀에 최대 5명의 팀원이 있다.1. 7개 팀을 섞고2. 팀원을 섞어서서로 겹치지 않게 순서표를 짜는 매크로 Option Base 1Option Explicit Sub Macro() Dim wsTable As Worksheet: Set wsTable = Sheets("표") Dim wsList As Worksheet: Set wsList = Sheets("순서") Dim v$() Dim vRnd, vTable Dim rnG As Range, rnGList As Range Dim i%, j%, a%, b% Dim intMax%, intMax2%, cntMan%, tmP '기존자료 초기화 Set rn..
-
[정규식] 엑셀 여러줄 속에서 원하는 텍스트 구하기VB(A) 2016. 10. 7. 08:22
split으로 해도 되는데정규식으로 해도 쉽게 끝낼 수 있는데꾸역꾸역 Replace를 사용해보고 싶어서. 정규식 설명이 잘 되어있는 블로그- http://blog.naver.com/asaph16/220465400967 ------------------------------------------------------------------------------------------------------------------------------ http://kin.naver.com/qna/detail.nhn?d1id=1&dirId=102020101&docId=261951302 블루(^^)그레이(^^) 이렇게 한 셀에 있는 걸 색상II블루(^색상II그레이(^ 이렇게 결과로 받고 싶습니다 두번째"^" 앞 까지요..
-
[정규식] 일정한 글자 길이만큼 잘라서 출력VB(A) 2016. 10. 5. 14:07
http://kin.naver.com/qna/detail.nhn?d1id=1&dirId=102020101&docId=261860049 안녕하세요.특정 열의 글자들을 지정한 갯수 만큼 분리하여 오른쪽 항목으로 넣는 매크로를 요청드립니다. 자세한 내용은 첨부된 엑셀을 보시면 금방 이해하실 수 있을 겁니다. 레코드 수가 너무 많아서 제가 만든 if문 복사로는 힘이 드네요. 레코드 수가 보통 10만개가 넘어서 드레그 하기에는 다소 문제가 있습니다.최대 글자수는 100자 이하이므로 10글자씩 10항목으로 자를 수 있습니다. 도와주세요. 12345678910111213141516171819202122232425262728293031323334353637383940Sub Macro() Dim p As Object, ..
-
영문자판으로 한글을 입력하는 결과를 보여주는 사용자정의 함수VB(A) 2016. 9. 29. 16:19
http://kin.naver.com/qna/detail.nhn?d1id=1&dirId=102020101&docId=261474241 도움을 요청드립니다. 엑셀에서 한글로 입력 된 셀을 영어로 변환하고 싶은데 아무리 찾아도 자료가 없네요..한글주소를 소리나는대로 영문으로 바꾸는 메크로는 찾았는데, 제가 원하는 것은 소리나는대로 변환되는게 아니라 영어자판으로 놓고 한글을 타이핑 한것처럼 변환되었으면 합니다. 예를들면.. 사랑 -> tkfkd대한민국 -> eogksalsrrn도와주세요 -> ehdhkwntpdy 이렇게요.. 엑셀 D/B 작성중인데 수심만개의 자료를 변환 해야하는데.. 수기로는 못하겠죠? 매크로 코드도 좋고, 수식도 좋고요. 도움주신 분께 감사내공 드리겠습니다.
-
[VB.net] 화면보호기 v1.5(슬라이드쇼 + 시간)VB(A) 2016. 7. 17. 09:55
화면보호기 업그레이드 버전사진을 선택하면 슬라이드 형식으로 진행된다. 미리보기가 추가되었고선택한 파일은 레지스트리에 추가하여 컴퓨터가 재부팅이 되어도 설정을 기억하게 했다.현재 시간도 출력. 디자인은 날씨까지 마무리 짓고 난 후에 ㅎㅎ 페이드 인/아웃 형식의 슬라이드쇼도 보류.타이머 공부를 많이 해야겠네. 다음 화면보호기 프로젝트는 날씨를 넣는 것.맥 바탕화면에 많이 쓰는 설정. MSDN 참조를 많이 했는데 옛날 버전이고 영문이라 메뉴 부분에서 많이 헷갈렸는데다행히 여기서 결정적인 힌트를 얻음. - http://preempted.blogspot.kr/2014/11/screen-saver-preview-window-p-success.html + 화면보호기 미리보기 + + 설정 클릭 시 파일 선택 설정 + ..