Skip Navigation Links.
Expand VBAVBA
엑셀프로그래밍이 필요한 이유
Expand ExcelExcel
Expand External LibraryExternal Library
Expand SolutionSolution
Expand EssayEssay

Micro & Macro

섬세한 놈,쪼잔한 놈,통큰 놈

프로그래밍 초보때 헷갈리는것 중에 하나..
개념이 안잡히는것 중의 하나는..
다음과 같은 경우가 있다

아래의 그림과 같이 의도하였는데



아래와 같이 만들어 진다



초보때는 그냥 코드만 멍하니 드려다 보고 머리를 쥐어 뜯는다
도대체,뭐가 잘못 된거야??!!
인간세상에서 컴퓨터 속의 Micro세상을 들여다 볼때는
개념이 섬세한 개념으로 개안이 되어야 한다
혹은 쪼잔한 개념으로 개안이 되어야 한다

아래의 코드를 보고 노랑색 구문을 크릭해 보시기 바란다

Sub detail_preciseView()
Dim iX As Integer
Dim lngTotal As Long
Worksheets.Add
With Range("B4")
       For iX = 1 To 10
      .Cells(iX, 1) = String(9, Chr(65 + iX))
      .Cells(iX, 2) = Format(Int(Rnd() * 10000) + 5000, "###,###")
      lngTotal = lngTotal + .Cells(iX, 2)
   Next
   .Cells(iX, 1) = "Total"
   .Cells(iX, 2) = Format(lngTotal, "###,###")
   .CurrentRegion.Columns.AutoFit
   .Offset(-1, 0) = Format(Date, "yyyy-mmm-dd dddd") & "현재 보고서"
   .CurrentRegion.Font.Name = "바탕체"
End With
End Sub

의도한대로 된 코드

별것도 아니지만 이런 경우가 왕왕 생기고, 초보때는 한참 괴롭힘을 당한다
어이..김과장 이거 정리좀하고 보기 좋게좀 꾸며보게!!
라고 하면 김과장은 적절히 미적감각..분석,조합감각을 살려서
마음에 들게 만들어 올수도 있고
별로 입맛에 맞지않게 만들어 올수도 있는것이 인간세상의
일의 프로세스이다

컴퓨터는 유능한 김과장같이 감각적이지 못하고
스스로 알아서 처리할줄 모른다는 것을 초보자들은 모른다
거참..알아서 여러개의 명령을 주면 알아서 처리하는 것 아닌가??
미안하게도 컴퓨터는 일을 시킨사람의 의도는 모른다
그냥 시키는 순서대로 한줄 한줄(Exactly Line By Line) 처리하는것이
컴퓨터가 일을 처리하는 프로세스인것이다

그래서 고수가 되어가면서 사람이 섬세하게 되는 것이고
섬세하지 않으면 프로그래밍이 안되고..
덜렁거리던 사람도 섬세해진다
컴퓨터속의 Micro-World 속으로 들어 가서 그곳의 감각을 익히게 되는것이다

덜렁덜렁..통큰 사람인척들 하고 사는 사람들은
이런것을 보고 쪼잔한 짓을 한다고 할것이다
쪼잔하게 뭐 그런것을 따지고 있냐??!!
재수없게 뭘 그렇게 따지냐??
그렇게 이야기 한다
MICRO(쪼잔한)-SOFT社는 그래서 세계제일의 갑부의 회사가 되었을까??
이왕이면 섬세하고 디테일한 사람이라고 해주면
좋을텐데..쪼잔하다고 하기도 한다

아무튼 그렇게 부르는 사람은 그렇게 평생살다가 가라고 하고
생각이 있는 사람들은 쪼잔하던..통이 크던..자기가 하고 싶은것을
자기가 생각해서 의미가 있는 일이면 하면서 사는것이다

그런데..의아한것이 있다
VBA프로그래밍에서 사용하는 프로시져들을
매크로라고 호칭한다..!!
Macro???이것은 Micro의 반대말이다..
아니 왠 그런 단어를 사용했을까???
Macro Economics는 거시(巨視)경제라고 하고
Micro Economics는 미시(微視)경제하고 하듯이 보는 시각자체가 틀린것이다
그런데 왜 매크로라고 이름을 붙였을까??
이것은 컴퓨터의 세상속에서도 거시적인 부분이 있고
또 미시적인 부분이 있다는 이야기다
우리가 자판을 사용하여 두들기는 문자를 프로그래밍을 하는
사람과 엑셀을 프로그래밍하는 사람의 차이는 분명이
또 다른 크기의 차이가 있는것이다
엑셀프로그래밍에 비하여 쪼잔한(?) 문자를 만드는 프로그래밍은
보다 더욱 미시적이다
엑셀 프로그래밍은 프로그래밍언어 중에서
가장 거시적(巨視的)안목을 사용하는 언어인것이다
VBA언어(유사한 스크립트언어들 포함)가 나오기전의
프로그래밍언어들에 비하여 대한히 거시적인 언어인것이다
이미 쪼잔하게 만들어진 작은 프로그래밍들을
이리 저리 조합하는 보다 인간에 가까운 거시적(Macro)언어인 것이다

그러니 세상은 작은것이 작은것이 아니고
큰것이 큰것이 아니다
작은것이 더 작은것 앞에서는 커다란 것이고
아무리 통이 크다고 자랑을 해도 더 통이 큰 놈이 나오면
쪼잔한 놈이 되는것이다
그러니 쪼잔한놈..통큰놈 같은 피상적 언어에 신경들 쓰지 말고
자기가 사랑하는 일이 제일 의미있고 자랑스러운 일인것이다

섬세하지 않으면,
구체적이지 않으면,
현실적이지 않으면,
실현가능성이 불투명한것을 막연히..내질러대면,
측정할수 없는 일들을 싸잡아서 계산하면,
시도 때도 없이 통큰척들하고 폼잡아대면,
Micro(세부적인 우리네 살림살이)는 돌볼 자신도 없고 능력도 없으니
바람잡기 좋은
Macro(통큰 헛소리,민족이 어떻고..인권이 어떻고..환경이 어떻고..)를 떠들면,
실컷 쌀이고 비료고 현찰이고 죄다 퍼주고[이런짓은 애들도 할수있다!!]
온 동네방네,쪼다 소리듣고 살게 된다

엑셀을 좋아하고 엑셀프로그래밍을 즐기고 그러면 엑셀마인드가 생기고
그러면 세계 어디에 가도,누구 한테 쪼다소리는 듣지 않고 산다