VBA 17

네이버 뉴스 검색 결과 가져오기

안녕하세요. 네이버 뉴스에서 검색해서 결과를 가져오는 VBA 코드입니다. 완성 파일 다운로드 '검색'은 URL을 C열에 나타내고, '검색2'는 A열에 링크를 걸어 나타냅니다. '초기화'는 검색 결과를 모두 지웁니다. Public Sub 초기화() Range("5:1048576").Clear End Sub Public Sub 검색() r = 5 키워드 = Range("A2").Value For Page = 1 To 10 Start = (Page - 1) * 10 + 1 Set doc = GetDocumentByUrl("https://search.naver.com/search.naver?where=news&sm=tab_jum&query=" & 키워드 & "&start=" & Start) For i = 0 T..

엑셀 2024.03.02

VBA로 범위 선택 방법과 매크로에 단축키 지정 방법

안녕하세요. VBA를 이용해 범위를 선택하는 방법과 매크로에 단축키를 지정하는 방법을 소개하겠습니다. 완성 파일 다운로드 VBE를 실행하고 모듈을 삽입한 뒤 프로시저를 작성합니다. 연속된 범위를 선택할 때는 Range 개체를 이용하고, 비연속된 범위를 지정할 때는 UNION 개체를 이용합니다. Sub 연속범위선택() Range(ActiveCell, ActiveCell.Offset(999, 0)).Select End Sub Sub 비연속범위선택() Union(ActiveCell, ActiveCell.Offset(999, 0)).Select End Sub 작성한 매크로에 단축키를 지정하려면 매크로 기록을 시작할 때 '바로 가기 키'를 지정할 수 있습니다. 이미 매크로를 기록했거나 VBA로 만든 프로시저의 경..

엑셀 2021.12.05

거래내역 중 취소된 항목을 찾아서 표시하는 VBA

거래일자, 거래시간, 거래금액이 입력된 데이터가 있습니다. 실습 파일 다운로드 [C5] 셀 -149,900 은 [C3] 셀 149,900이 취소된 값을 의미합니다. VBA로 작성했습니다. Public Sub 찾기() i = 3 cnt = 0 Do If Range("C" & i).Value < 0 Then cnt = cnt + 1 Range("D" & i).Value = cnt j = i - 1 Do If Range("C" & j).Value = Abs(Range("C" & i).Value) And Range("D" & j).Value = "" Then Range("D" & j).Value = cnt Exit Do End If j = j - 1 Loop End If i = i + 1 Loop While R..

엑셀 2021.04.04

중복 항목에 채우기 후 삭제하기

안녕하세요. 자주 찾는 커뮤니티 사이트에 엑셀 관련 질문이 올라와 있었습니다. www.clien.net/service/board/kin/16003781?od=T31&po=6&category=0&groupCd=community 엑셀에서 중복값 강조와 제거를 같이 할 수 있을까요? : 클리앙 제가 원하는건 중복이 있었던건 표시된 후, 하나만 남기고 삭제되는건데용 중복값 표시 후 중복값 제거하면 중복되는 데이터가 없기 때문에 표시가 사라집니다 ㅠ countif를 써서 다른 셀에서 중 www.clien.net 이미 답글이 달려 있었고, VBA로 처리한 댓글도 있었습니다. VBA 반복문으로 처리하는 작업입니다. Sub 중복제거얍() Dim i As Double Dim j As Double Dim firstRow ..

엑셀 2021.03.27

전체 명단에 없는 항목 나타내기

안녕하세요. 데이터 파일 없이 글로 올려진 질문에 답을 할 때는 고급 필터에 COUNTIF 함수로 조건을 설정하면 되는 작업으로 보였었습니다. 막상 메일로 받은 데이터 파일을 보니 생각했던 것과는 다른 모습이었습니다. 6시 근무자와 14시 근무자를 D열부터 R열에 적었고, S열부터 근무하지 않은 명단을 나타내는 것입니다. 전체 명단은 AA열과 AB열에 기록되어 있습니다. 한참 생각해 봤지만 함수나 엑셀 기능으로 나타낼 방법은 없어 보입니다. 방법은 VBA로 작성하는 것입니다. 사용자 지정 함수로 만들고 싶었지만 결과값이 한 셀에만 나타나는 것이 아니라 여러 셀에 나타나는 것이라 프로시저로 처리했습니다. 커서는 결과를 나타낼 셀 [S7]에 둡니다. 매크로를 실행하야 하는데, [보기]-[매크로]-[매크로 보..

엑셀 2021.03.11

날짜에 따라 일정한 위치에 복사해서 붙여넣기

질문을 받아 처리했습니다. 자주 받는 질문인데, 많은 내용을 알지 못해도 여러 상황에서 이용할 수 있는 방법입니다. 매일 매출과 입금 내역을 특정 셀 범위에 입력한 뒤 정해진 셀 위치로 복사하는 작업입니다. 매크로를 이용하면 쉽게 처리할 수 있습니다. 두가지 작업인데, 첫번째는 매출입력입니다. [W4] 셀에 작업일이 있고, 아래에 카드사별 매출을 입력한 뒤 매출입력 단추를 누르면 해당 날짜에 나타나는 것입니다. 두번째는 입금입력입니다. [C39:M46] 셀 범위에 입력된 데이터를 해당 날짜 해당 위치로 복사합니다. Public Sub 매출입력() '작업일 확인 작업일 = Day(Range("W4")) 행 = 작업일 + 5 ' 1일인 경우 6행에 입력 Range("C" & 행).Value = Range("..

엑셀 2021.01.07

일정한 기준으로 배정하기

일정한 기준으로 배정하는 방법을 질문 받았는데, 질문하며 참조했다는 파일을 열어보니 함수를 이용해 멋지게 구현해 놓은 것이었습니다. 성적순위별 전공 배정표.xlsx 파일 이름으로 검색해서 블로그를 찾았습니다. svetak.tistory.com/m/75 1지망부터 4지망까지 있고 성적 순서대로 정렬한 상태에서 아래 학과별 정원을 고려해 배정하는 것입니다. 사용되는 함수는 IF, COUNTIF, VLOOKUP 함수로 많이 사용되는 함수들입니다. 원하는 작업이 성적순이 아니라 지망순으로 배정하길 원하는 것입니다. 1지망을 우선 배정하고, 다음 2지망, 3지망순으로 배정하는거죠. 함수로 할 방법을 떠오르지 않고 VBA로, 그것도 반복문을 세번이나 중첩해 작성했습니다. Public Sub 배정() For i = ..

엑셀 2021.01.07

엑셀 사용자 지정 서식에서 사용할 수 있는 색상명

사용자 지정 서식에서 직접 색상 이름을 지정해서 색상을 나타낼 수 있는 색은 8가지입니다. 검정, 파랑, 녹청, 녹색, 자홍, 빨강, 노랑, 흰색 '빨강'이라는 글자가 적혀 있는 [B3] 셀에 셀 서식을 지정해 글자색을 빨강색으로 나타내겠습니다. 단축키 을 눌러 셀 서식 대화상자를 나타내고 [표시 형식] 탭 [사용자 지정] 항목에서 [형식]에 '[빨강]@'를 입력합니다. 색상을 나타낼 때 대괄호( [ ] )로 묶어 나타냅니다. [확인]을 눌러 보면 글자가 빨간색으로 나타납니다. 이 방법 외에 다른 방법이 있습니다. 색상 인덱스를 이용하는 방법인데 56가지 색을 나타냅니다. [B2] 셀에서 다시 단축키 을 눌러 셀 서식 대화상자를 나타내고, [형식]에 '[색45]@'를 입력합니다. [확인]을 눌러 보면 다..

엑셀 2021.01.07

엑셀 VBA로 자료 처리 - 신청자, 회원목록 비교 4

며칠전에 연락한 후 따로 연락이 없어서 다 끝난건가 싶었는데, 오늘 아침 다시 연락이 왔습니다. 마무리 작업을 진행 중이군요. 한 가지 일을 처리하는데도 완전히 끝내려면 꽤나 많은 일이 필요하군요. 연락 온 용건은 반복지급된 내역 중 중복자의 경우 한 번만 나타내도록 색상을 지정하는 것이었습니다. 아주 흔한 작업이고 공식 같은 코드가 있습니다. Public Sub 중복자한명만색상으로나타내기() i = 4 이름 = "" Do If Range("B" & i).Value 이름 Then Range("B" & i).Interior.ColorIndex = 19 이름 = Range("B" & i).Value End If i = i + 1 Loop While Range("B" & i).Value "" End Sub 단..

엑셀 2020.07.13