'엑셀 컴퓨터 인터넷/엑셀 VBA' 카테고리의 글 목록 (2 Page)
본문 바로가기

엑셀 컴퓨터 인터넷/엑셀 VBA43

엑셀 - 차트 그리기, 그래프 그리기 엑셀로 차트 (그래프)를 그리는 방법에 대해 포스트 해 보겠습니다. 위의 그림과 같이 임의로 데이터를 만듭니다. 엑셀 상단의 메뉴에서 '삽입'을 클릭하시고, 오른쪽에 차트 메뉴에서 알맞은 차트를 고릅니다. 차트를 그릴 범위의 데이터를 마우스로 선택한 다음 차트를 선택하면 위의 그림과 같이 차트(그래프)가 만들어 집니다. 상단의 메뉴에서 '색', '디자인' 등을 변경하시면 됩니다. 이번에는 '누적수입'을 이용한 그래프를 그려보겠습니다. 해당 데이터가 들어간 셀을 위의 그림과 같이 마우스로 선택하시고 2차원 꺽은선형 그래프를 선택합니다. '누적수입'만 보이게 하기 위해서 '월별 수입' 곡선을 선택해서 삭제해 줍니다.('Delete' 키를 누르시면 됩니다.) 간단하게 엑셀을 사용하여 차트 (그래프) 그리는 방.. 2020. 12. 23.
엑셀 - countif , countifs 엑셀에서 가장 많이 사용하는 함수 중 하나인 'countif'와 'countifs' 사용방법 입니다. 엑셀에서 무작위로 과일,채소 이름을 위의 그림과 같이 입력합니다. 사과의 개수가 몇개 인지 'countif' 함수를 통해 확인해 보겠습니다. '사과'가 입력된 셀 옆에 '=countif(' 라고 입력하시면 친절하게 함수 인자가 뭐가 들어가야 할지 알려줍니다. '=countif(range, critera)' 즉 '=countif(범위, 기준)' 입니다. 위와 같이 범위를 지정하고, 기준값을 정해주면 됩니다. 그럼 다음으로 비슷하게 생긴 'countifs'에 대해 알아 보도록 하겠습니다. 조건을 하나 더 적었습니다. 위 그림과 같이 빨간색 사과가 몇개인지 확인해 보겠습니다. 셀에서 '=countifs('를 .. 2020. 12. 22.
엑셀 - sumif 와 sumifs 엑셀 수식 중 'sumif'와 'sumifs' 사용법 입니다. 위의 그림과 같이 임의로 과일이름과 개수를 적어놓고, 사과의 개수를 수식을 이용해서 구해보겠습니다. '=sumif('를 셀에 입력하면 위의 그림과 같이 입력할 인자에 대해 안내가 됩니다. '=sumif(range, criteria, [sum_range])' 즉 '=sumif(범위, 기준, 더할범위)' 요롷게 되겠죠. 위의 그림과 같이 범위와 기준과 더할 범위를 입력합니다. 결과는 위의 그림과 같습니다. 다음은 'sumifs' 사용방법에 대해 알아보겠습니다. 빨간색 사과의 개수를 구하는 예시를 들어 보겠습니다. 임의로 위와 같이 입력합니다. '=sumifs('를 셀에 입력하면 위의 그림과 같이 입력할 인자에 대한 안내가 나옵니다. 'sumifs.. 2020. 12. 18.
엑셀 VBA(매크로) - 자동으로 행, 열 맞추기 Visioual Basic Applicaiton을 이용하여 자동으로 열을 맞추는 방법입니다. 개발도구 메뉴에서 Visual Basic 메뉴로 들어갑니다. VBA 창에서 '삽입' 메뉴에서 '모듈(M)'을 눌러서 모듈을 추가합니다. 아래와 같이 임으로 엑셀창을 열어서 행 너비를 넘어가도록 글자를 무작위로 입력해 보겠습니다. 추가된 모듈에서 아래와 같이 코드를 입력합니다. Sub sb열맞춤() Columns("C:I").AtuoFit End Sub 실행을 해 보면 아래와 같이 자동으로 열이 맞춰집니다. 자동으로 행 맞추는 코드는 아래와 같습니다. Sub sb행맞춤() Columns("1").AtuoFitRows("1:17").EntireRow.AutoFit End Sub 2020. 12. 9.
엑셀 VBA(매크로) - 여러 파일 이름 (경로) 자동으로 가져오기 업무를 하다보면 여러 파일 이름들을 일일이 타이핑 하거나, 복사/붙여넣기 해야 할 때가 있습니다. 이때 VBA를 사용하면 간단하게 원하는 파일의 모든 이름 또는 경로를 가져올 수 있습니다. 엑셀파일을 열고 상단의 메뉴 중 '개발도구' >> Visual Basic' 으로 들어갑니다. 'Microsoft Visual Basic for Applications' 창에서 상단의 '삽입' 메뉴를 눌러 '모듈'을 추가합니다. 모듈 창을 열어서 코드를 입력합니다. 전체 코드는 아래와 같습니다. ↓Sub sbOpen_Filename() Dim lngCount As Long, lngI As Long Dim varArray As Variant, varArray2() As Variant Dim strPath As String.. 2020. 12. 5.
엑셀 - 엑셀 속도를 빠르게 하는 방법(이름 관리자) 엑셀양식은 여러사람이 사용하다 보면 점점 느려집니다. 속도를 조금이나마 빠르게 하는 방법을 포스트 하겠습니다. '이름관리자' 에서 설정하는 방법 입니다. 엑셀파일을 여시면 상단 메뉴에서 "수식"메뉴를 선택합니다. 아래 오른쪽에 "이름관리자"를 클릭합니다. "이름 관리자" 창이 열리면 어마무시한 데이터들을 보실 수 잇습니다. 위의 그림과 같이 "#REF!" 등 에러가 발생한 대상을 삭제 하시면 속도가 비교적 빨라집니다. 남겨야 될 항목은 프린트 설정정도고 나머지는 다 지우셔도 무방합니다.(사실 프린트 설정도 다 지우셔도 됩니다. 다시 설정하면 되거든요) 프린트 설정은 아래의 그림과 같이 이름이 설정되어 있으니 참고하세요. 2020. 11. 30.
엑셀 - 느려진 엑셀 파일 속도를 빠르게 하는 방법 (연결편집 설정) 엑셀파일을 사용하다 보면 파일을 열때 심하게 느린 파일들이 있습니다. 이때는 '스타일' 문제 또는 연결된 파일의 문제 입니다. 엑셀의 '데이터' 메뉴에서 "연결 편집"을 클릭합니다. "연결 편집"창이 나오면 연결된 데이터의 연결을 끊어주면 됩니다. 해당 파일을 선택하고 "연결 끊기(B)" 버튼을 누르시면 됩니다. 그리고 되도록 위의 그림과 같이 "업데이트:" 는 "수동(M)"으로 하시기 바랍니다. 그래야 좀 더 빨리 엑셀 파일이 열립니다. 2020. 11. 29.
엑셀 VBA(매크로) - 엑셀에서 스타일(Style) 제거 방법 이미 만들어 놓은 엑셀 양식을 여러사람이 사용하면 시간이 지날수록 속도가 점차 느려집니다. 이때 해결하는 방법 중 스타일을 제거하는 방법이 있습니다. 엑셀 메뉴에서 홈 메뉴 버튼을 클릭합니다. '홈'메뉴에서 오른쪽에 스타일을 보시면 처음보는 여러 스타일이 있는 것을 확인하실 수 있습니다. 이때 매크로를 사용해서 지우시면 간단하게 필요없는 스타일을 지울 수 있습니다. 매크로 사용방법은 아래 링크를 클릭하세요 ↓ 2020/10/25 - [IT와 친해지기/엑셀 VBA 자료실] - 엑셀VBA(매크로) - 시작하기 엑셀VBA(매크로) - 시작하기 직장인들은 대부분 엑셀에 익숙하실 겁니다. 하지만, 엑셀을 잘 활용하시는 분들은 아마 드물겁니다. 프로그램을 잘 하시는 분들은 파이썬이나 C언어, 자바 등을 가지고 필요.. 2020. 11. 28.
엑셀 - 조건부서식 엑셀을 사용 하다보면 특정 조건에 음영을 표시하던지, 색깔을 표시하는 등 서식을 지정하고 싶은 경우가 있습니다. 이런것은 엑셀의 '조건부서식'을 사용하시면 됩니다. 임의로 데이터를 만들어서 위의 그림과 같이 마우스로 선택 해줍니다. 위의 보이는 점수 중 50점 이하는 노란색 음영으로 표시하도록 하겠습니다. 엑셀 상단의 메뉴에서 '조건부서식'을 클릭합니다. 조건부 서식에서 '새 규칙'을 선택합니다. '새 서식 규칙' 창이 나오면 "▶수식을 사용하여 서식을 지정할 셀 결정"을 선택합니다. 50점 미만이면 음영이 노란색으로 표시될 수 있도록 수식을 작성합니다. "=IF(C1 2020. 11. 27.
엑셀 - VLOOKUP, HLOOKUP 사용법 엑셀에서 자주 사용하는 기능 중 하나인 Vlookup 과 Hlookup 사용법입니다. 위의 그림과 같이 예시로 표를 만들었습니다. 여기에서 철수의 국어 점수를 가져 오겠습니다. VLOOKUP은(찾는값, 찾으려는 데이터, 열숫자, 유사찾기(True)/정확히찾기(False)) 순으로 작성하시면 됩니다. 위의 그림과 같이 옆에 테이블을 하나 만들어서 VLOOKUP 수식을 걸어줍니다. "=VLOOKUP(G3,B3:D7,2,FALSE)" 입니다. 결과가 잘 나왔네요. 이번에는 HLOOKUP 사용법입니다. VLOOKUP에 'V'는 Vertical 이고, HLOOKUP의 'H'는 Horizontal 인 것 같네요. HLOOKUP도 마찬가지로 "HLOOKUP(찾는값, 찾으려는 데이터, 열숫자, 유사찾기(True)/정확.. 2020. 11. 26.
엑셀 VBA(매크로) - 시트 추가, 복사, 삭제, 이름변경 엑셀 VBA를 통해서 시트를 추가, 삭제, 복사, 이름변경 하는 방법입니다. 1. 시트 추가 sub sbTest() sheets.Add End Sub 2. 시트삭제 sub sbTest() sheets("시트이름").Delete End Sub 3. 시트 이름변경 sub sbTest() sheets("시트이름").Name = "이름변경 시트" End Sub 4. 시트 복사 sub sbTest() sheets("시트이름").Copy before:=Sheets("다른시트") '다른시트 앞에 복사 End Sub 5. 다른 통합문서에 복사 sub sbTest() sheets("시트이름").Copy End Sub 2020. 11. 25.
엑셀 - 다른 파일에서 시트 가져오기 https://cafe.naver.com/111coding/44?tc=shared_link 파이썬을 10분만에 배우는 방법프로그램밍 언어를 공부하는 것은 외국어를 배우는 것과 상당히 흡사합니다. 우리는 대체로 초등학교 3년, 중학교 3년, 고등학교 3년 최소 9년은 영어를 배웁니다. 하지만,...cafe.naver.com 다른 파일에서 시트를 가져오는 방법을 포스트 하겠습니다. '현재파일'과 '복사할 파일'을 만들고, 두 파일을 모두 열겠습니다.현재파일에는 시트("현재파일" 시트)가 하나밖에 없습니다. 다른 파일에 있는 시트를 가져와서 여기에 복사/이동 해 보겠습니다. 복사할 파일을 여시고 "복사할 시트"라는 이름의 Sheet에 마우스 오른쪽 클릭을 합니다. 나타나는 메뉴에서 "이동/복사(M)..." 을.. 2020. 11. 24.
엑셀 VBA(매크로) - 반복문(For문, While문)에서 나갈 때 반복문은 지정해 준 범위까지 무조건 반복합니다. 하지만 데이터가 몇 천개에서 몇 만개 되면 이 때문에 시간이 길어집니다. 그래서 원하는 데이터를 찾았거나, 원하는 작업이 완료되면 반복문을 빠져나가면 시간을 아낄 수 있습니다. 반복문을 빠져 나가려면 간단한 코드 한 줄만 추가하면 됩니다. 우선 For 문의 예시 입니다. For I = 1 to 10 ~~~함수~~~ Exit For # 중간에 For문에서 빠져나오는 문구 입니다. Next I 다음은 Do While 문 입니다. I = 1 Do While I 10 ~~~~함수~~~~~ Exit Do # 중간에 While문에서 빠져나오는 문구 입니다. I = I +1 Loop 이렇게 코드를 작성하면 수 만행의 엑셀 데이터라도 VBA를 실행하는데 많은 시간을 아낄.. 2020. 11. 23.
엑셀 VBA(매크로) - 여러파일 데이터 자동으로 가져오기 VBA를 통해서 여러개의 엑셀파일의 데이터를 한꺼번에 가져오는 코드입니다. Files = Application.GetOpenFilename(MultiSelect:=True) # 대화창을 열어서 파일을 선택할 수 있게 하는 코드입니다. 'MultiSelect:=True'면 여러개 파일을 선택할 수 있습니다. On Error Resume Next # 에러가 나면 다음을 진행해라는 얘기죠 For I = 1 To UBound(Files) #'UBound'라는 함수안에 위에서 선택한 'Files'가 들어갑니다. 이러한 파일들은 첫번째(1) 부터 순차적으로 반복한다는 얘기입니다. Set File = Workbooks.Open(Filename:=Files(I), ReadOnly:=True) # 'File'은 순차적으.. 2020. 11. 20.
엑셀 VBA(매크로) - 반복문 VBA던지 Python을 사용하던지 반복문은 유용한 것 같습니다. 제가 자주 사용하는 반복문은 'For'문과 'While' 문입니다. 기본 구조는 아래와 같습니다. For문 For I = 1 to 10 # I 라는 변수에 1을 집어넣고 10까지 될때까지 반복하라는 의미 입니다. ~~~함수~~~ Next I #For문을 끝낼때에는 항상 'Next'를 써서 완료를 나타내야 합니다. Do While 문 I = 1 # 우선 변수를 지정해서 시작하는 수를 입력합니다. Do While I < 10 # 10 보다 작을때 까지 진행하라는 의미 입니다. ~~~~함수~~~~~ I = I +1 #원하는 작업이 끝나고, 변수를 1씩 추가합니다. Loop #10이 될때까지 반복합니다. For 문은 숫자 외에도 List나 파일등.. 2020. 11. 17.
엑셀 VBA(매크로) - 행 높이, 열 너비 자동으로 설정하기 행, 열의 높이를 VBA로 설정 해 보도록 하겠습니다. 개발도구 메뉴에서 Visual Basic 메뉴로 들어갑니다. VBA 창에서 '삽입' 메뉴에서 '모듈(M)'을 눌러서 모듈을 추가합니다. 행 높이 변경 Range("A1:E30").RowHeight = 16 열 너비 변경 Range("A1:E30").ColumnWidth = 20 2020. 11. 14.
엑셀 VBA(매크로) - Hyperlink(하이퍼링크) 자동으로 넣기 VBA를 통해 자동으로 HyperLink를 작성하는 방법입니다. With Sheets(1) .Hyperlinks.Add anchor:=.Cells(3,1), Address:=file.path & "\" & file.Name, TextToDisplay:="파일열기" End with 하이퍼링크와 관련된 코드만 올렸는데 'file'은 외부파일을 가져오는 변수인데, 앞의 코드가 생략된 점 참고바랍니다. - Anchor : 링크를 걸 셀 - Address : 인터넷 경로(ex. www.daum.net) 이나 파일경로(ex. C://...) - SubAddress : 시트 이동이나 링크걸 때 - TextToDisplay : 링크를 걸고 보여지는 글자(ex. "파일열기") 2020. 11. 11.
엑셀 VBA(매크로) - 자동으로 인쇄영역 설정하기 매크로를 이용하여 인쇄영역을 설정해 보도록 하겠습니다. 개발도구 메뉴에서 Visual Basic 메뉴로 들어갑니다. VBA 창에서 '삽입' 메뉴에서 '모듈(M)'을 눌러서 모듈을 추가합니다. Sub sbPrintArea With Sheets(1) .PageSetup.PrintArea = Range(.Cells(1, 2), .Cells(50, 24)).Address End Sub 반복문 즉 'For' 문이나 'While'문을 함께 쓰면 행/열이 변할 때 마다 자동으로 인쇄영역을 설정할 수 있습니다. 2020. 11. 8.
엑셀 VBA(매크로) - 자동으로 선 그리기 VBA를 사용하여 셀에 선을 그려 보도록 하겠습니다. 개발도구 메뉴에서 Visual Basic 메뉴로 들어갑니다. VBA 창에서 '삽입' 메뉴에서 '모듈(M)'을 눌러서 모듈을 추가합니다. 우선 바깥쪽 테두리 선을 그려보도록 하겠습니다. 코딩 창에서 아래와 같이 코드를 타이핑 합니다. Sub sbLine() Range("B2:B3").BorderAround LineStyle:=xlContinuous, Weight:=xlThick, ColorIndex:=1 End Sub 이제는 모든 면에 선을 그리도록 해 보겠습니다. Sub sbLine() With Range("B4:E20").Borders .LineStyle = 1 .ColorIndex = 1 .Weight = xlThick End With End Su.. 2020. 11. 7.
엑셀 VBA(매크로) - 변수 선언 VBA는 자연어에 가까운 언어라 속도가 다른언어에 비해 느립니다. 조금이라도 빠르게 하시고 싶으시면 해당 되는 변수를 선언해 주시고 코드를 작성하시면 됩니다. '변수선언'이란 그릇의 크기를 정하는 것이라고 생각하시면 됩니다. 알맞은 Data의 크기만큼 변수를 선언하시면 불필요한 메모리의 낭비를 줄일 수 있습니다.(파이썬은 변수가 자동으로 할당되는데, VBA는 선언하게끔 만들어 졌더라구요.) 변수선언은 "Dim" + "변수명" + "as" + 데이터 형태로 지정하시면 됩니다. 예를들어 정수형은 "Dim intA as Integer" 이렇게 지정 하시면 됩니다. 여기서 변수명은 아무렇게나 지정하셔도 상관이 없는데, 코드가 길어지면 헷갈리니깐 저는 앞에 Data형을 알아볼 수 있게 지정합니다. 예를들어 Wor.. 2020. 11. 6.