전체 글

공부한 내용을 정리합니다
Programming/VBA

VBA / criteria 변수에 저장된 문자열 다름 조건 걸기

오토필터 criteria는 변수에 저장된 문자열인 경우 그냥 '변수명' 으로는 반영이 되지 않는 문제가 있었습니다. 이 문제를 해결하려면 CStr(변수명)을 사용해야합니다. 그리고 왜인지 모르겠지만 정확히 일치(=)나 다름()은 작동하지 않아서 양쪽에 와일드카드(*)를 붙여주는 '포함' 방식으로 하니 문제가 없었습니다. (관련 링크) HTML 삽입 미리보기할 수 없는 소스 [엑셀 매크로 VBA] CInt, CBool, CStr을 이용하여 값 변환하기 엑셀의 워크시트에는 다양한 데이터형을 지원하기 위한 데이터 타입이 있습니다. 이러한 데이터 타입 사이에서 데이터를 변환하는 방법에 대해서 오늘은 알아보도록 하겠습니다. VBA의 대표적 guslabview.tistory.com HTML 삽입 미리보기할 수 없는..

Programming/VBA

VBA로 필터링 된 이외의 행(숨긴 행) 지우기

오늘 날짜인 행만 남기고 삭제하기 오토필터로 오늘 날짜(텍스트)만 필터링하고 나머지 숨긴 행은 지우는 방식입니다. Sub 오늘날짜만_남기기() Dim strToday As String strToday = Format(Now(), "yyyy-mm-dd") Range("F1").AutoFilter Field:=6, Criteria1:=strToday For i = Rows.Count To 1 Step -1 If Rows(i).EntireRow.Hidden = True Then Rows(i).EntireRow.Delete End If Next i End Sub 숨긴 행인지 확인하고 하나하나 지우는 방식이라 시간이 많이 걸려서 개선하게 되었습니다. 개선한 버전 링크는 이쪽. HTML 삽입 미리보기할 수 없는 소..

Review

일 잘하는 사람은 단순하게 말합니다

우리는 이 질문을 늘 기억하고 있어야 합니다. ‘어떻게 머릿속 생각을 단순하고 정확하게 전달하지?’ 일터의 비전서 같은 책을 만났다. 일반적인 책은 1~2페이지 정도로 저자가 하고자 하는 말이 요약되는데, 이 책은 실전서 같은 느낌이라 모든 페이지를 두고두고 볼 만한 책이다. 1. 상대방 중심: 상대방에 맞춰 이야기하는가? 2. 단순한 형태: 상대방이 이해하기 쉬운 모습인가? 3. 약간의 말 센스: 적절한 어휘와 타이밍으로 얘기하는가? 크게 보자면 위와 같은데, 그냥 모호하게 끝내지 않고 정확한 예시를 들어 설명해주기에 바로바로 실생활에 적용하기도 좋다. 그렇다고 무조건 덮어놓고 이렇게만 하면 된다고 하지도 않는다. 근거를 들어서 왜 이러한 상황이 발생하는지 우선 설명해준다. 예를 들자면 아래와 같다. ..

Programming/VBA

VBA로 다른 시트 값과 비교해서 일치하는 경우 셀 값 바꾸기

data 시트의 AE셀을 지금 시트의 G셀과 비교해서, 일치하는 경우에만 Q셀 값을 '최종완료'로 바꾸는 VBA Sub 확인완료_갱신() Dim rngList As Range Dim rngValue As Range Dim i As Integer With Worksheets("data").UsedRange Set rngList = .Offset(1).Resize(.Rows.Count-1) End With For i = 1 To WorksheetFunction.CountA(Range("A:A")) Set rngValue = rngList.Find(Range("G1").Offset(i, 0)) If Not rngValue Is Nothing Then Range("Q1").Offset(i, 0) = "최종완료"..

Software Engineering/Study Notes

idempotent (멱등성)

동일한 작업 또는 함수를 여러 번 호출하더라도 결과가 변경되지 않는 것 HTTP 메서드: POST, DELETE, GET - 동작과 멱등성 HTTP 프로토콜은 웹에서 데이터를 주고받을 때 사용되며, 다양한 메서드를 제공하여 서버와 클라이언트 간의 통신을 가능하게 합니다. 이 중에서도 POST, DELETE, GET 메서드에 대해 MDN에서 예시로 제시하고 있는데, 이들 메서드는 각기 다른 동작과 멱등성 특성을 가지고 있습니다. POST 메서드 POST 메서드는 서버에 새로운 데이터를 생성하거나 기존 데이터를 수정하는 데 사용됩니다. 예를 들어, 새로운 게시물을 생성하거나 사용자가 입력한 정보를 서버에 전송할 때 주로 사용됩니다. POST는 요청을 여러 번 보낼 시 서버의 상태가 변경될 수 있으므로 멱등성..

Programming/VBA

VBA로 갱신일 자동 기록하기

Q2부터 Q1353의 범위 안에 속하는 셀을 편집하는 경우, 해당하는 행의 T 셀에 yyyy-mm-dd 형식의 날짜를 입력한다. 별도의 모듈이 아니라 해당하는 시트 개체를 더블클릭해서 등록하면 된다. Private Sub Worksheet_Change(ByVal Target As Range) If Not Intersect(Range("Q2:Q1353"), Target) Is Nothing Then Range("T" & Target.Row).Value = Format(Now, "yyyy-mm-dd") End If End Sub HTML 삽입 미리보기할 수 없는 소스 엑셀 입력 시간 자동 기록 매크로(입력 / 수정 실시간 자동 감지 기록 Timestamp, VBA) 엑셀 매크로로 작성한 간단한 입력 / 수정..

Programming/VBA

VBA 시작하기

최근 엑셀 반복 작업을 하면서 자연스럽게 자동화의 필요성을 느껴 VBA에 대해 알아보게 되었다. VBA란 Visual Basic for Application의 약자로 Microsoft 사에서 제공하는 프로그래밍 언어. Excel, Powerpoint,Word, Outlook과 같은 Microsoft 응용 프로그램을 위한 언어. 엑셀 VBA는 Excel에서 사용자가 원하는 기능을 프로그래밍 언어를 통해 개발할 수 있는 도구이다. .xlsm VBA를 동작시키기 위해서는 .xlsm 확장자 파일로 생성해야 한다. 일반 파일일 경우 저장할 때 xlsm로 다른 이름으로 저장할 것을 알리는 팝업이 뜬다. 시작하는 방법 개발도구>Visual Basic 버튼 or 단축키 Alt+F11로 진입 가능하다. 모듈 모듈은 VB..

Review

뇌과학과 심리학이 알려주는 시간 컨트롤

시간 관리에 관심이 많아 요런 서적을 보면 눈이 가게 되는데, 역시 나도 성장했는지 초반처럼 1분 1초 쪼개서 쓰는 법 보다는 '삶의 질 올리는 법' 쪽으로 관심이 가게 되는 것 같다. 생각보다는 원론적인 이야기이지만 역시 그것이 근본인가..? 싶은 책. 시간 쓰기 방법론보다는 나의 감각과 마음가짐에 주목한다. 특히 '몰입'을 강조한다. 시간을 늦추고 싶다면 현재의 순간에 주의를 기울이고 집중하라. 지루한 상황을 빨리 보내려면, 시간에 대한 단서들을 회피해 시간의 흐름을 인지하지 못하게 하라. 당면한 행위에 집중하면 시간은 보다 빨라진다. 그리고 왠지 아래의 문장이 계속 맴돌았다. 우주는 우리를 이곳으로 데려오려고 그토록 어마어마한 노력을 기울여놓고, 믿기 어려울 정도의 그런 확률에 비해 왜 우리를 상대..

Review

주말엔 옷장정리

마음 가는대로 살다보니 미니멀한 옷장을 가지고 살고 있는데, 급격한 몸무게 변화를 겪고나니 옷이 너무 커서 입을 수가 없어서 옷을 사야하는 상황이 되었다. 오랫동안 어차피 쇼핑몰 봐도 맞는 예쁜 옷은 다 작고.. 당연히 맞는 사이즈도 별로 없어서 대충대충 살아왔는데 갑자기 저 예쁜 옷들이 다 내 쇼핑 후보군이 된 것이다. 감개무량하다.. 그렇게 패션에 몇년만에 관심을 갖게 되어서 둘러보다 눈에 띈 책인데, 취향인 일러스트만큼 내용도 알차고 좋았다. 오늘 어떤 옷을 입을까?’라는 질문은 ‘오늘의 나는 어떤 느낌이고 싶은가?’와 동일한 의미라는 말에 좀 더 옷을 대하는 태도가 진지해졌다. 옷장 정리를 통해 결국 제가 여러분과 나누고 싶은 것은 ‘일상의 작은 행복’입니다. 아침에 옷장 앞에 섰을 때 ‘오늘은 ..