엑셀 26

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

안녕하세요. 네이버 뉴스에서 검색해서 결과를 가져오는 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

거스름돈 구하기 알고리즘

전형적인 알고리즘 중 거스름돈을 구하는 알고리즘을 알아봅니다. 파이썬과 C 코드 https://blog.tomclansys.com/64 15. 그리디 알고리즘 (동전, 거스름돈 문제) 그리디 알고리즘 그리디 알고리즘(욕심쟁이 알고리즘, Greedy Algorithm)이란 "매 선택에서 지금 이 순간 당장 최적인 답을 선택하여 적합한 결과를 도출하자" 라는 모토를 가지는 알고리즘 설계 기 blog.tomclansys.com VBA 코드 https://setori-dev.tistory.com/51 [Excel VBA] VBA 디버깅 반갑습니다. :-) 오늘은 VBA 프로그래밍에서 가!장! 중요하다고 말할 수 있는 디버깅하는 방법에 대해서 살펴보도록 하겠습니다. 프로그래밍에서 디버깅(Debug)은 필수입니다...

엑셀 2023.10.11

고급 필터 매크로를 VBA로 보완(변수, InputBox 함수)

안녕하세요. 고급 필터 매크로 강좌에서 수식으로 작성한 조건 값을 바꿔 작성한 매크로를 실행하면, 전에 조건으로 만들어진 결과를 지우고 변경한 조건을 기준으로 고급 필터가 실행되는 매크로 만드는 법을 배웠었죠? 바꿔야 하는 부분은 수식의 마지막 부분인 중복 과목 수를 나타내는 숫자 부분입니다. 이 매크로를 이용해서 조건을 바꾼 새로운 고급 필터 결과를 구하려면 다음 세 단계의 작업해야 하죠. 1. 조건 수식이 들어있는 셀을 선택해 셀 수정 상태로 전환 2. 원래 적혀 있던 숫자를 지우고 새로운 숫자를 입력하고 를 쳐서 셀 수정을 마무리 3. 단추를 눌러 매크로 실행 이 세단계를 하나로 줄일 방법이 없을까? 단추만 누르면 중복 과목 수를 묻는 창이 나타나고, 입력한 값을 이용해 매크로가 바로 실행되는 것을..

엑셀 2022.01.06

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

DDE로 매번 바뀌는 데이터를 딴 셀에 저장하고 차트로 만들기

안녕하세요. DDE(Dynamic Data Exchange)는 동적 데이터 교환 방법입니다. 주로 주식시세를 엑셀 파일과 연결해 보여주는 용도로 많이 쓰입니다. 완성 파일 다운로드 [A1] 셀에 바뀌는 데이터를 D열에 복사하도록 Worksheet_Change 이벤트에 코딩했습니다. Private Sub Worksheet_Change(ByVal Target As Range) If Target.Address = "$A$1" Then If Range("C2").Value "" Then 위치 = Range("C1").End(xlDown).Row Else 위치 = 1 End If 위치 = 위치 + 1 Range("C" & 위치).Value = Date & " " & Format(Time, "hh:mm:ss") '..

엑셀 2021.07.28

Worksheet _change 이벤트를 이용해 값이 바뀌면 자동으로 작업 처리하기

안녕하세요. 셀에 값을 입력하면 자동으로 동작하는 작업을 원하는 경우가 있습니다. Worksheet_change 이벤트가 이럴 때 사용하는 이벤트입니다. 완성 파일 다운로드 [G2:H4], [J2:K4] 셀 범위에 값을 입력하면 [D2:E4] 셀 범위 수식이 계산되고 D열과 E열 값이 1 이상이고, 두 값이 같으면 A열에 'a'를 나타내고 B열에 시간을 나타내는 동작을 합니다. Private Sub Worksheet_Change(ByVal Target As Range) Dim KeyCells As Range Set KeyCells = Range("G2:H2,J2:K2") If Not Application.Intersect(KeyCells, Range(Target.Address)) Is Nothing Th..

엑셀 2021.07.28

거래내역 중 취소된 항목을 찾아서 표시하는 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