본문 바로가기

프로그래밍(Programing)/엑셀매크로_vba(Excel-Macro)

도형(Shape)의 통로(Lane) 체크하기_02 https://hingle.tistory.com/59 도형(Shape)의 통로(Lane) 체크하기_01 https://hingle.tistory.com/58 도형(Shape)의 통로(Lane) 체크하기_서론 회사에서 위의 제목같은 검사기를 만들 수 있냐고 했다. 프로그램에서 나온 데이터를 뽑아보니 될것 같다고 해서 만들기로 마음 먹 hingle.tistory.com 저번 글에서 알 수 있는정보를 배열에 넣는것까지 알아봤다. 이제 어떻게 할지 알아보자. 나는 검사기를 개발할때 눈을 통해서 들어오는 정보를 가지고 검사가 되면, 컴퓨터에 알 수있게(눈으로 본 정보 vba언어로) 바꾸어 추출하고, 다시 디자인분들이 보기 쉽게 표현하려고 한다. 그림을 다시 보자 우리 눈에는 이런식으로 보인다. 하지만 저번 글에서.. 더보기
도형(Shape)의 통로(Lane) 체크하기_03 저번 시간에서 백터로 만드는 이유를 눈으로 확인할 수 있었고, 최종 배열 모습을 보았다. 그럼 이제 VecUp, VecDown을 가지고 어떻게 최종 배열 모습으로 만드는가? p1 p2는 A구역 ↑↓안에 있고, p3 p4 B구역 ↑↓안에 있고, p5 p6은 A구역 ↓ B구역 ↑사이에 있다. 핀이 일단 도형안에 있는 없는지 판별부터해야 하는 문제가 처음부터 있었다. 다행이? 점p 다각형에 내부외부 판별해주는 공식은 있다. https://bowbowbow.tistory.com/24 [기하] 다각형의 내부 외부 판별 [기하]다각형의 내부 외부 판별 목차 [기하] 다각형의 내부 외부 판별 다각형의 내부 외부 판별이란? 아이디어 다각형의 내부에 위치하는 점의 특징은 뭘까? 구현 어떻게 반 직선과 다각형의 교 bow.. 더보기
도형(Shape)의 통로(Lane) 체크하기_01 https://hingle.tistory.com/58 도형(Shape)의 통로(Lane) 체크하기_서론 회사에서 위의 제목같은 검사기를 만들 수 있냐고 했다. 프로그램에서 나온 데이터를 뽑아보니 될것 같다고 해서 만들기로 마음 먹고 만들었다. 만드는데는 오랜시간 걸렸다. 11월 부터해서 12월 hingle.tistory.com 위에 글에서 나온 검사기를 어떻게 만들었지 보기위해서 일단 어떤식으로 되어있는지 알아야 한다. 아래에 예시를 6개 이미지로 보여준다.( 꼭 아래 도형만 있지는 않다는걸 알았두면 좋겠다.) 위에 6개 이미지로 간략하게 어떤 검사기를 만드는지 알 수 있다. 프로그램에서 내가 알아낼 수있는 자료들은 3가지다. 1. Shape의 모양의 좌표들. 2. pin의 좌표와 반지름 이 정보들만 가.. 더보기
도형(Shape)의 통로(Lane) 체크하기_서론 회사에서 위의 제목같은 검사기를 만들 수 있냐고 했다. 프로그램에서 나온 데이터를 뽑아보니 될것 같다고 해서 만들기로 마음 먹고 만들었다. 만드는데는 오랜시간 걸렸다. 11월 부터해서 12월. 약 한달정도 걸려 만들었다. 이걸 만들면서 정말 수도없이 고쳤다. (크게 어려웠던 검사기도 15번~20번이면 완성했지만 40번이상을 고쳤다.) 초기에 만들었던 함수도 필요없어 쓰지도 않고 새로 만들고, 배열에 요소하나 추가를 위해, 함수인자를 더 넣기 위해, 다시 엎어서 만들었다. 생각 보다 많은 변수들로 인해서 고착됐지만, 다음날 지나면 '이런식으로 어떨까?' 생각이 나와서 해보니 해결되고 되더라. 다음 장 부터 어떤 식으로 만들었는지 얘기하겠습니다. https://hingle.tistory.com/59 도형(S.. 더보기
재귀호출 2. 퀵정렬(Quick Sort) 및 코딩 방법 퀵 정렬 : 일렬로 랜덤으로 배치되어있는 배열을 하나의 기준값[S](여기서는 맨 왼쪽)을 2가지형태로 열을 지나가는데 -1.기준값[S] 다음 왼쪽[L]값 부터 마지막열[R]까지 (배열 인덱스Left Index가 증가하면서) -2.마지막열[R](오른쪽 끝값) 부터 왼쪽값[L] 위치까지 (배열 인덱스Rigth Index가 감소하면서) Quik Sort -1에서 [S]보다 큰값(Left Big)을 찾고, -2에서 [S]보다 작은값(Right Small) 찾아 LB 와 RS 값의 위치를 바꿔 준다. (RI > LI 인 상황) 바꾸고 LI 증가시키고 RS를 감소하면서 위 같은 상황이 오면 값을 바꿔준다. 만약 -1의 인덱스와 -2의 인덱스가 교차되기전(RI 더보기
재귀호출(Recursive Call) 1. 내 생각 재귀호출은 다음장에서 더 다루고, 여기서는 제가 생각한(만든 코드) 것들을 적은 겁니다. 정보처리산업기사 공부하면서 누승 알고리즘에 재귀호출 사용이 나온다. n! = n x (n-1) x (n-2) x ㆍㆍㆍx 1 = n x (n-1)! n의 누승은 n x { n -1)의 누승 } 으로 정의되므로 다시 누승이 반복된다. 호출할 때마다 매개변수값이 감소 (n-1) 유의. 내부적으로 같은 알고리즘을 다시 호출하여 이용하는 경우가 편리할때 사용하는것이 재귀호출이라고 한다. ( 2020이기적 서적 ) 여기까지 배웠을때만 해도 재귀호출에 대한 생각은 굳이 써야할까?였다. 1. 재귀호출을 사용할 프로그램을 만들지 않았다. -회사에서 재귀호출하면서 만들 상황이 없었다. -만든다 해도 n행 데이터와 (n-1)행데이터를.. 더보기
현재시트(sheet1)에서 다른시트(sheet2)의 범위(Range) 정렬시 오류 현재시트 : Sheet1에서 이벤트 발생 다른시트 : Sheet2 (현재시트에서 발생한 이벤트로 어떤범위를 정렬하는데 오류) 현재시트에서 정렬 함수를 넣으면 잘되는데 Range(cells(x,y) , cells(x,y)), [기준], 오름차순 이것을 다른시트에 적용하려고 하면안된다. Sheet2.Activate 안되는것들 모음 1. Range(cells(x,y) , cells(x,y)), [기준], 오름차순 2. Range(worksheet(2).cells(x,y) , worksheet(2).cells(x,y)), [기준], 오름차순 3. with sheet2 .Range(worksheet(2).cells(x,y) , worksheet(2).cells(x,y)), [기준], 오름차순 end with 4... 더보기
Option explicit 묵시적 변수 명시적 변수 오늘, 저의 무지를 다시 한번 더 알아차리고 갑니다. 어후.. 나중에 프로그램이 완성되면 쓸려 했지만 오늘 했던 삽질을 잊지 않기 위해 기록하려고 합니다. 이 문제를 빨리 알았으면 1시간? 2시간? 퇴근을 더 빨리 할 수 있었는데 ㅜ . ㅜ 알지 못하고 사용한 나의 책임이죠. 위의 제목같은 이유로 문제였는데, (다 만들어지면 세세히 보이겠습니다.) 1. 만들려던 프로그램이, 좌표(X,Y) 점을 여려개 가진 하나의 선(가지가 많은 나뭇가지?나무?분기점이 많음, 트리구조)을 하나의 키(나무의 뿌리? 나뭇가지 손잡이?)를 따라 전위구조같은 식으로 순서로 정렬을 해놓고 길이 값을 측정하는 프로그램을 만드는데. 2. 기존 방식(if for 엑셀 함수lastrow )쉬운기능만 사용으로는 도저히(될거같은데 안되네.... 더보기

728x90