목록컴퓨터/엑셀 (226)
rand(life)
출처는 아래에. Option Explicit Sub SendEmailWithrRange() Const olMailItem = 0 Dim rngToSend As Range, r As Range Dim FileName As String, FileName2 As String Dim strHtml As String Set rngToSend = Selection strHtml = RangeToHTML(rngToSend) With Sheets("address") For Each r In .Range("a1", .Cells(Rows.Count, "a").End(xlUp)) With CreateObject("Outlook.Application").CreateItem(olMailItem) .To = r.Value .Su..
Option Explicit Sub 순열조합_매크로() Dim 항목배열 As Variant, wf As WorksheetFunction Set wf = WorksheetFunction ' 엑셀 시트함수 Application.ScreenUpdating = False ' 기존자료 삭제 및 머릿글 Range("d1").CurrentRegion.Offset(1).Delete xlUp ' 항목 셀범위를 1차원 배열로 변경 하기 위한 작업 With Range("a2", Cells(Rows.Count, "a").End(xlUp)) 항목배열 = wf.Transpose(.Value) ' 가로세로 바꿈 If .Columns.Count > 1 Then ' 가로면 가로세로를 한번 더 바꿈 항목배열 = wf.Transpose(..
function myFunction() { var sht = SpreadsheetApp.getActive().getSheetByName("시트1"); for (var i = 50; i >= 1; i--) { var str = sht.getRange(i, 3).getValue(); if (str == "74Y" || str == "74N" || str == "77L" || str == "") { sht.deleteRow(i); } } } 엑셀과 비슷하지만 전혀 다른 google apps script를 공부할 필요를 조금씩 느끼고 있다. 여기저기 찾아보고 겨우 만든 것이 저 위의 코드 C열에 있는 각 셀값이 특정한 문자일때, 또는 빈칸일 때 행 전체를 삭제하는 코드이다. javascript 기반이라니, Vi..
Option Explicit Sub Jo_sort() Dim rD As Range Dim jList As Object Dim i As Long, iCol As Long 'Application.ScreenUpdating = False Set rD = Range("a1").CurrentRegion '데이터 범위 iCol = rD.Columns.Count Set jList = CreateObject("system.collections.sortedlist") With jList For i = 1 To rD.Rows.Count Step 2 Dim sT As String sT = rD.Cells(i, 1).Value & rD.Cells(i, 3).Value If Not .contains(sT) Then .Add s..
엑셀에서 매크로를 실행하여 특정 폴더안의 모든 워드 문서 중에서 본문에 특정한 단어가 있는지 검사한 후 해당 단어가 있는 문장과 문장의 첫단어가 있는 라인 수 해당 파일의 이름을 출력하는 매크로이다 VB편집기에서 도구 - 참조 클릭하고 Microsoft Word Object Library에 체크를 해야 작동한다. Option Explicit Sub macro() Dim WApp As Object, WDoc As Object, WDR As Object Dim ExR As Range, sPath As String Dim str2Find As String, myData As String, sFname As String, myfile As String Dim myline As Long Set ExR = Rang..
파워쿼리를 이용하여 다른 파일에 들어있는 데이터를 취합하는 방법은 이전에 올린 적이 있습니다. 이번에는 같은 파일안에 있는 여러 시트에서 데이터를 취합하는 방법입니다. 엑셀 2016 버전 기준으로 작성하였습니다. 엑셀 2010 ~ 2013버전은 추가기능을 다운로드하여 설치하면 사용할 수 있습니다. (2007버전 이하에서는 파워쿼리를 사용할 수 없습니다.) 먼저, 각 시트의 데이터를 “표(Table)”로 만들어야합니다.여기서 “표”는 일반적으로 우리가 사용하는 의미의 ‘가로 세로 사각형 안에 데이터를 집어넣는 것’이 아니라, 엑셀에서 특수한 기능을 하는 표입니다. 표로 만들어 두면 좋은 점이, 나중에 일부 시트에서 값의 변경이 생겼을때, 일일이 모든 시트를 다시 취합할 필요 없이, ‘새로고침’ 한 번으로 ..
네이버 지식인 노하우에 쓴 글입니다. 2016버전부터 정식으로 엑셀의 기능으로 들어온 파워쿼리를 이용해서많은 일을 간단하게 할 수 있게 되었습니다. 예를 들어, 여러개의 파일을 통합하여 하나의 파일을 만드는 일 같은 경우, 이전에는 VBA(매크로)를 이용해야했었지만, 파워쿼리를 이용하면 VBA를 몰라도 파일을 통합하는 일을 손쉽게 할 수 있습니다. 단순 통합 뿐 아니라, 데이터를 용도에 맞게 적절히 변형하여 통합파일을 만들 수도 있습니다. 아래는 특정 폴더 안에 있는 모든 csv 파일을 하나로 통합하고, 첫번째 열을 추가하여, 첫번째 열에는 파일명 중 숫자 부분을 넣는 작업에 대한 설명입니다. 엑셀 2016 버전 기준으로 작성하였습니다. 엑셀 2010버전 이상은 추가기능을 다운로드하여 설치하면 사용할 수..
네이버 지식인 노하우에 쓴 글입니다.100% 제가 한 것은 아니고, 외국의 한 사이트에 있는 방법을 가져왔습니다. 이중 유효성 검사를 구글 드라이브 시트에서 만드는 방법입니다. 엑셀에서는 indirect 함수를 이용하여 만들 수 있습니다. 참고: http://ttend.tistory.com/251 구글드라이브에서는 이름정의나 indirect함수가 엑셀과 똑같이 작동하지 않아서 위의 방법을 그대로 적용할 수 없습니다. 아래와 같이 해보세요 1. 일단 아래와 같은 표를 만들어 둡니다. 어느 셀 (여기서는 F2셀)에서 A사를 선택하면다른 셀(여기서는 G2셀)에서 A사의 제품인 '초콜렛,초콜렛바,사이다,콜라'가 유효성검사 목록으로 뜨게 만들겁니다. 2. F2셀을 선택하고 상단 메뉴에서 데이터 - 데이터 확인하고..