전체글 1070

셀값이 같은 행으로 정렬

기준표와 각 창고표가 있다. 기준표의 상품코드와 창고표의 상품코드를 비교해서 기준표의 상품코드에 맞게 순서를 재배치 하고 기준표에 없는 상품코드들은 기준표의 밖에 차례대로 재배치함. 이 모든 것들을 배열로 처리함. Option Base 1 Sub Macro() Dim vL As Variant Dim varR As Variant Dim vR As Variant Dim var창고() As Variant Dim varAll() As Variant Dim i As Byte Dim j As Byte Dim k As Byte Dim v As Byte Dim c As Byte Dim btMatch As Byte Dim rng창고 As Range Dim rngArea As Range '원본 시트 보호 위해 시트 복사 ..

VB(A) 2015.08.09

누적되지 않는 실시간 그래프

실시간으로 변하는 그래프 주식차트같이 누적되는 그래프가 아니라 어느 정도 누적되면 기존 데이터는 없어지고 새로운 데이터만 유입되는 방식이다. 마니또님의 코드를 99% 가져온 코드 차이점이라면 마니또님 : 주식 그래프처럼 누적 시켜나감 수정본 : 옛날 데이터는 왼쪽으로 사라지고 새로운 데이터는 오른쪽에서 나타남 이것은 원본인 마니또님의 지식인 답변 http://kin.naver.com/qna/detail.nhn?d1id=1&dirId=102020101&docId=156393465&qb=7JeR7IWAIOyLpOyLnOqwhCDqt7jrnpjtlIQ=&enc=utf8&section=kin&rank=2&search_sort=0&spq=0 Option ExplicitPublic 타임 As Date, 간격 As ..

VB(A) 2015.08.09

하위 폴더의 파일명, 수정날짜, 경로 가져오기

하위폴더의 자료들을 가져오는 코드 FSO라는 것을 사용해서 하위폴더를 불러오게 되어있다. Option Explicit '매크로 시작 전 도구 - 참조 - Microsoft Scripting Runtime 에 체크할 것Sub Macro() Dim strFolderPath As String Dim objFSO As New Scripting.FileSystemObject Dim objFolder As Scripting.Folder Application.ScreenUpdating = False '현재경로 선언 strFolderPath = ThisWorkbook.Path Set objFolder = objFSO.GetFolder(strFolderPath) '기존자료 삭제 Range("A1").CurrentRegi..

VB(A) 2015.07.31

배열의 합, 최대치 구하기

스샷에 있는 숫자들은 한줄로 보면 되는 숫자들. 이 숫자들의 최대값 연속된 2개의 셀의 합의 최대값 연속된 3개의 셀의 합의 최대값 . . . 연속된 n개의 셀의 합의 최대값을 구하는 매크로 배열을 이용해 1열로 세우고 합과 최대치를 구하였다. Option Base 1Option ExplicitSub Macro() Dim rng As Range, rngA As Range Dim var1D() As Double, varMax() As Double Dim i As Integer, j As Integer, intV As Integer Dim cntC As Integer Dim rngTemp As Range '시트2의 기존값 삭제 및 영역 설정 Sheets(2).Range("A1").CurrentRegion.C..

VB(A) 2015.07.28

A시트와 B시트의 필터링 값을 각각의 파일로 저장

A에는 있지만 B에는 없는 것 A에는 없지만 B에는 있는 것 A와 B동시에 있는 것 세가지 조건을 충족하기 위해 애 좀 먹었다. Option ExplicitPrivate rngWs1 As RangePrivate rngWs2 As RangePrivate wS1 As WorksheetPrivate wS2 As WorksheetPrivate wbOld As WorkbookPrivate varClt As VariantSub mkFile() Dim cltWs1 As New Collection Dim cltWs2 As New Collection Dim rng As Range Application.ScreenUpdating = False '각 시트 및 현재 워크북 변수 설정 Set wS1 = Sheets(1) Set..

VB(A) 2015.07.27

대량의 데이터 변환

대량의 데이터를 변환하는 매크로 워낙 내용이 많아서 웬만한 코드로는 실행 중 멈춰버린다. 바꿀 데이터를 배열 하나에 넣고 코드를 순환하며 바꿔주는 매크로. 핵심은, 모든 데이터를 하나의 배열에 넣는 것이다. 그리고 중요한 한가지. 코드 실행 시간이 길어질 땐 시간 체크를 해가며 이벤트를 실행해야 응답없음이 뜨지 않는다. Option ExplicitSub withArray() Dim c As Integer Dim r As Long Dim sT As Date: sT = Time '시작시간 Dim nT As Date Dim oT As Date Dim varCode As Variant: varCode = Sheets("codepyo").UsedRange '코드표를 배열로 Dim intV As Long: intV..

VB(A) 2015.07.27