12월 둘째주|
UNO_WEEKLY |UNO_ZEN_030
x20131209_0801_UNOZEN_030.
UNO_WEEKLY|Excel_Baby_030 [배열,배열상수,배열수식]
배열하면 수학적인 무엇인가의 추억에 잡혀..
이것은 어려운 것이야!!!
라고 지레 겁을 먹는 것이 이 것이기도 하다
배열은 여러분이 군대생활할때 , 연병작에 3열종대, 5열종대로
행과 열을 마추어 줄을 섰었다
이것이 배열 인것이다, 수학과는 그렇게 관계가 깊은 것이 아니고
실생활에 관계가 깊은 것이고 , 엑셀과 관계가 깊은 것이고
아니 엑셀작업을 한다고 하는 자체가 배열작업을 하고 있는 것이다
엑셀을 한다는 소리를 하려면
최소한 배열, 배열수식, 배열상수등이 무언인지는 알아야 한다
살펴보면서 이해하도록하고 활용하도록 하자
x20131209_0801_baby_030.
UNO_WEEKLY|VBA+ExcelProgramming_030
엑셀프로그래밍을 정성껏 잘하여 배포를 했는데
엉뚱한 경우가 발생하는 것 중에 병합된 셀에서의 문제이다
Offset의 기준의 되는 셀을 사용자가 보기좋게 한다고
병합을 해버리면 나머지 Offset으로 접근하는 범위는 엉뚱한 곳에
접근하게 된다
엑셀의 성질머리를 잘 알면 이런 것을 피하지만
그렇지 못하면 , 엉터리 프로그래머라는 소리를 면할수 없다
이것을 피하거나 방지하기 위한 방법을
잘 살펴보도록 하자
x20131209_0801_vba_XLprogramming_030.
UNO_WEEKLY |Programming_QandA
선택한 범위를 다른 곳에 옮기고 싶다
뭐..이런 저런 복잡한 것 말고 그냥 선택한 범위만 옮기고 싶다
이것이 참 애매한 말이다
선택한 범위를 옮기고 싶다??
어디로,
현재시트의 어떤 범위로?,
새시트를 만들어서?
기존특정시트에 연속하여 붙여넣기?
선택범위의 열머리는 갖여 갈까,말까??
아무리 간단해도 이런,저런 조건이 필요하게 된다
당연히 UserForm같은 것을 사용하면 복잡할 것이니까.
가장 기본적인 대화상자인 MsgBox를 최대한 활용하여
선택범위를 적절히 옮겨 보자
x20131209_0801_AvoidTroubleWithMergeCells.
UNO_WEEKLY|VB.Net_065
사용하고 있는 윈도우폼상의 콘트롤의 속성들을
CSV화일에 저장한후, 필요에 따라서 불러서 볼수 있는 것을 해보고 싶다
지난화일의 내용을 조금 응용하시면 된다
그런데 콘트롤에는 여러가지가 있다
Button같은 경우 Name속성도 있고, VBA에서는 Caption속성이라고 있지만
VB.Net에는 Caption 혹은 Value속성들이
모두 Text라는 속성으로 단일화되어서 편리하다
그런데 DataGridView타입의 컨트롤의 경우 Text라는 속성은 없다
그래서 폼의 콘트롤을 순환하면서 각 콘트롤을 처리할때는
콘트롤의 타입이 어떤 타입인지 알아내어야 한다
VBA에서는 TypeName(콘트롤) 하면
범위의 경우는 Range라는 타입이라는 것을
알게 되고 TextBox같은 경우 TextBox타입이라는 타입이름을 얻을수 있었다
물론 이것으로 VB.Net에서도 된다
그러나 VB.Net에서는 TypeName같은 함수보다는 개체의 메소드를 사용하는 것이
VB.Net환경에 좀더 잘 적응해나가는 습관이 된다
x20131209_0801_VB.Net_065.
VB.Net다운 받으실때 같이 받아서 바탕화면에 풀어 놓으셔야 합니다/NorthWind.mdb