달력

12

« 2014/12 »

반응형
728x90
반응형

 

 

그라인딩 툴 구매 오픈 후기 - DREMEL3000

 

 

며칠간 집에서 용접 작업을 하다 특정부분의 용접이 튄부분을 수정할 방법이 없을까 생각하다. 중형그라

 

인더는 너무크고 하여 아는 동생에게 자문을 구한 결과 DREMEL3000이라는 놈이 괜찮다고 하길래 인터

 

넷에서 즉시 구매 하여 포장을 풀어본다. 참, 가격은 10만원 정도이다.

 

 

 

 

개봉 박스 구성 은 메인 툴 상자와 악세사리 박스로 구성되어 있다.

 

 

 

상자의 위쪽에 작은 연장 툴이 쏙 들어가 있다.

 

 

 

아래단에는 메인 툴과 작은 박스 - 자주사용하는 악세사리툴이 있다.

 

 

 

 

메인툴 상단에 메인 툴을 쓰느냐 연장툴을 쓰느냐에 따라 네모난 구멍이있는

 

커넥터와 동그란 구멍 커넥터를 교환하여 사용할 수 있다.

 

 

 

 

아래 두가지 커넥터를 선택하여 연결가능~~ 아 ~~ 어렵다.

 

 

 

 

작은 연장박스 - 아마도 자주 쓰는 악세사리를 넣어 두는 곳이다.

 

 

 

악세사리 툴.... 형형 색색이 다양하게 구성되어 있다...

 

용도는 뭐 잘 몰르겠네.. 사용하면서 차차 알아가기로~~

 

 

 

 

아래는 11번가에서 퍼온 용도  .... 봐도 잘 몰르겠다.

 

 

 

 

 

연장툴에 커넥터를 연결한 모습.... 음 이렇게 되는 구나...

 

 

작은 툴에는 단추가 하나 있는데 앞쪽에 툴을 고정하기 위한 용도이다...

 

 

 

만약, 회전을 시키려면 메인 툴의 속도를 조절해야만 가능하다.

 

참, 어렵네.. 싸서 그런가..?

 

 

 

 

메인툴에 그라인딩 재를 연결한 모양 ... 쩝.. 아직은 적응이 잘 안된다.

 

 

며칠간 써본 후기는 쩝.. 우선 그라인딩을 할때... 연삭재나 갈릴 쪽의 칩이 날라오지 않도록 하는

 

투명 커버가 있어야 겠다는 생각이 우선듬~~ 가루가 쬐금 날린다.

 

음~~10만원이라는 가격대비 성능은 좋은 듯~~ 평정3.7점...(이유, 연장툴에 시작버튼이 없네....)

 

악세사리는 4.5점....

 

 

 

728x90
반응형
:
Posted by mapagilove
2014. 12. 2. 21:48

[ 엑셀VBA ] 시트이동 엑셀VBA 이야기2014. 12. 2. 21:48

728x90
반응형

 

 

[ 엑셀VBA ] 시트이동

 

 

엑셀에서 다양한 서식이나 프로그램을 만들다 보면 시트이동을 하는 경우가 많다. 일반적으로 정해진

 

이름을 갖는 시트이동의 경우 매크로를 사용하여 이름을 정해놓고 하나씩 지정이 가능한데 새로운

 

이름이 생성된다음 해당 시트로 이동해야하는 경우는 조금은 난감할 때가 있다.

 

 

1. 아래는 일정한 셀에 시트이름을 입력 후 이동하는 방법

2. Input상자를 통해 이름을 입력받아 이동하는 방법

 

위 두가지 코드를 포스팅해본다.

 

 

일정한 셀에 시트이름을 입력 후 이동하는 방법

Public Sub SelectSheet()
    Dim SheetName As String
    Dim NewSheet As Worksheet
    
    SheetName = ActiveSheet.Range("A4").Value   --> A4값을 시트이름으로 지정/새시트생성
    If Evaluate("ISERROR(" & SheetName & "!A1)") Then
        Worksheets("Template").Copy After:=Worksheets(Worksheets.Count)
        Set NewSheet = ActiveSheet
        NewSheet.Name = SheetName
    Else
        Worksheets(SheetName).Activate
    End If

End Sub

 

 

 

Input상자를 통해 이름을 입력받아 이동하는 방법
Public Sub SelectSh()

    Dim SheetName As String
    Dim a As String
    a = Application.InputBox("시트이름 입력", a)
   
    SheetName = a  --> InputBox값을 시트이름으로 지정/새시트생성
    If Evaluate("ISERROR(" & SheetName & "!A1)") Then
        Worksheets("Template").Copy After:=Worksheets(Worksheets.Count)
        Set NewSheet = ActiveSheet
        NewSheet.Name = SheetName
    Else
        Worksheets(SheetName).Activate
    End If
End Sub

 

 

위 내용이 도움이 되었길바라며 포스팅을 마감한다.

 

 

 

시트이동.xls

 

 

 

 

 

 

 

728x90
반응형
:
Posted by mapagilove
728x90
반응형

 

 

 

[ 엑셀VBA ] 엑셀 개체, 속성, 메서드, 이벤트

 

가끔씩 VBA를 하다보면 엑셀에 관련된 간단한 개체이지만 용어를 까먹을 때가 있다. 그래서 간단하게 자주

 

사용하는 개체에 대하여 하나씩 간단하게 정리를 해본다. 개체, 속성, 메서드, 이벤트는 간단하게 설명이

 

쉽지 않으므로 도움말에서 퍼온글을 포스팅 해본다.

 

 

개체, 속성, 메서드, 이벤트 설명
  

개체는 통합 문서, 셀, 차트, 폼, 보고서 같은 응용 프로그램의 요소를 나타냅니다. Visual Basic 코드에서는 개체의 메서드 중 하나를 적용하거나 그 속성 중 하나를 변경하기 전에 개체를 확인해야 합니다.

컬렉션은 몇몇 다른 개체들(항상 같은 형식일 필요는 없음)을 포함한 개체입니다. 예를 들어, Microsoft Excel의 Workbooks 개체는 열려 있는 모든 Workbooks 개체를 포함하고 있으며, Visual Basic의 Forms 컬렉션은 응용 프로그램 안에 있는 모든 Form 개체를 포함하고 있습니다.

컬렉션 안의 항목들은 숫자나 이름으로 구별할 수 있습니다. 예를 들어 다음 프로시저에서 Workbooks(1)은 첫 번째 열린 Workbook 개체를 나타냅니다.

Sub CloseFirst()
    Workbooks(1).Close
End Sub

다음 프로시저는 문자열로 지정된 이름을 사용하여 Form 개체를 나타냅니다.

Sub CloseForm()
    Forms("MyForm.frm").Close
End Sub

개체들이 공통 메서드를 공유할 경우 개체들의 컬렉션 전체를 조작할 수 있습니다. 예를 들어, 다음 프로시저는 열려 있는 모든 폼을 닫습니다.

Sub CloseAll()
    Forms.Close
End Sub

 

 

메서드개체가 수행할 수 있는 동작입니다.

예를 들어, Add는 ComboBox 개체의 메서드인데 콤보 상자에 새 항목을 추가하기 때문입니다.

다음 프로시저는 Add 메서드를 사용하여 ComboBox에 새 항목을 추가합니다.

Sub AddEntry(newEntry as String)
    Combo1.Add newEntry
End Sub

 

 

속성은 크기, 색, 화면의 위치 같은 개체의 특성이나 동작이 화면에서 가능한지 보이는지 등을 정의하는 개체의 특성입니다. 개체의 특성을 변경하려면 속성의 값을 변경하십시오.

속성값을 설정하려면 개체의 참조, 마침표, 속성 이름, 등호(=), 새 속성값을 차례로 쓰십시오. 예를 들어, 다음 프로시저는 Caption 속성을 설정하여 Visual Basic 폼의 제목 표시줄을 변경합니다.

Sub ChangeName(newTitle)
    myForm.Caption = newTitle
End Sub

어떤 속성들은 설정할 수 없습니다. 각 속성의 도움말 항목은 그 속성을 설정(읽기-쓰기)할 수 있는지, 속성을 읽을 수만(읽기 전용) 있는지, 속성을 쓸 수만(쓰기 전용) 있는지 나타냅니다.

속성 중 하나의 값을 반환하여 개체에 대한 정보를 구할 수 있습니다. 다음 프로시저는 메시지 상자를 사용하여 현재 활성 폼의 맨 위에 제목을 표시합니다.

Sub GetFormName()
    formName = Screen.ActiveForm.Caption
    MsgBox formName
End Sub

 

 

이벤트는 마우스를 누를 때나 키보드를 누를 때, 코드를 써서 응답하는 경우 같이 개체가 인식하는 동작입니다. 이벤트는 사용자 동작이나 프로그램 코드의 결과로 발생할 수 있으며 시스템에 의해 실행될 수 있습니다.

 

 

 

 

 

 

아래는 자주 쓰는 개체를 정리한 프로시져이다.

 

Sub 엑셀주요용어()

 

MsgBox ActiveWorkbook.Name                           --> 엑셀파일이름
MsgBox ActiveSheet.Name                                 --> 현재시트이름
Worksheets("절대참조").Select                            -->지정이름의 시트를 선택
Worksheets("절대참조").Range("A1:A5").Select      --> 지정범위를 선택
MsgBox Worksheets("절대참조").Cells(2, 1).Value  --> 지정셀을 선택

Worksheets("절대참조").Columns(1).Select           --> 지정칼럼을 선택
Worksheets("절대참조").Rows(1).Select               --> 지정행을 선택
End Sub

 

 

 

728x90
반응형
:
Posted by mapagilove
728x90
반응형

 

 

 

 

[ 엑셀VBA ] 변수 선언의 사용 - Public, Private, Dim

 

변수 선언시 사용하는 Public, Private, Dim은 접근 범위를 나타내는 지시자이며, 선언된 변수가 어디까지 접근이 가능한지

나타내는 지시자이다.

 

Public : 타 모듈까지 접근이 가능

Private: 현재 모듈내에서 상용이 가능

Dim : 현재 모듈 혹은 현재 프로시져에서 사용이 가능

추가로

Global : 전체 프로젝트에서 접근이 가능

 

 

변수의 선언은 Sub나 Function 안에 선언하는 경우와 모듈의 맨 위에 선언하는 경우 두가지가 있다.

 

모듈의 상단 선언부분에 변수 선언

 

1) 전역변수

Public i as Integer로 선언된 변수는 해당 모듈 뿐 아니라 다른 모듈에서도 접근이 가능하며, 이러한 형태의 변수는 전역변수

이다. 전역변수는 프로그램 전체에서 접근이 가능하다.

 

2) 모듈변수 

위와 같이 모듈 상단선언부에 Private 와 Dim으로 선언 된 변수는 다른 모듈에서 접근이 불가능 하나 같은 모듈 내에서는 어디에서나 접근이 가능하며, 이것을 모듈변수라고 한다.

 

3) 지역변수

Sub나 Function안에 변수 선언을 하는 경우는 Dim 구문으로만 선언이 가능하다. 이 경우는 같은 모듈내에 있더라도 다른 Function이나 Sub에서 접근이 불가능하다. 이 처럼 Function이나 Sub안에 선언된 변수를 지역변수라고 한다.


 

 

 

 

Private와 Public는 Sub나 Function을 선언할 때도 사용되며, 변수 선언과 마찬가지로 Public은 다른 모듈에서도 접근이 가능하지만 Private는 다른모듈에서 접근이 불가능하다 (Dim은 Sub나 Function의 선언시에는 사용되지 않는다.

 

 

Public, Private의 Function을 선언 예문
Public Sub 모듈간범위()
    내용
End Sub


Private Sub 모듈내범위()
    내용
End Sub


 

처음이라 두서 없이 설명하였는 데 좀더 간략하게 설명한다면 변수선언이 적용되는 범위가 모듈의 범위까지 적용인지, 모듈내 적용인지,

프로시져내 적용인지에 따라 각각 구분된다고 할 수 있다.

 

도움이 되었길 바라며 포스팅을 마감한다.

 

 

 

728x90
반응형
:
Posted by mapagilove
728x90
반응형

 

 

[ 엑셀VBA ] 엑셀 VBA 변수의 정의 - option explicit , 변수

 

 

 

변수란 무엇인가? 하는 질문을 던질때 항상 따라오는 용어가 있는데 option explicit이다, 이 option explicit는 명시적 선언을 의

미하며 모든 변수는 선언후에 사용해야 한다는 규칙을 설정하는 용어이다. 

 

option explicit

Dim i As integer

i = 3

위의 문장처럼 명시적선언(option explicit)을 한 후에 i를 정수형 숫자로 설정한 후에 변수 i 를 3으로 정의하는 것이 규칙이다.

 

 

만약, VB에서 변수의 자료형태을 지정하지 않으면 Variant형이 되다. 아래 설명을 예로 들면,

 

dim i

위 처럼 형을 지정하지 않은 경우는  Variant형이 된다.

 

dim i as integer

i 는 integer형이 된다.

 

dim i%

i도 역시 integer 형이며,  %는 integer형이라는 뜻이다. 

 

 

 

dim b, c, d as integer

b,c는 자료형이 지정되지 않아 Variant형이며, d는 Integer형으로 지정이 된다.

닷넷은 모두 integer형으로 지정이 된다.

 

짧은 글이지만 명확히 머릿속에 박히는 글이었길 바라며 마지막으로 자료형에 대해서는 VBA의 도움말을 참고하시길

바란다.

 

 

728x90
반응형
:
Posted by mapagilove
728x90
반응형

 

 

 

[ 엑셀VBA 3 ] 불량관리 프로그램 만들기 - 조건절 IF

 

오늘 부터는 엑셀 및 엑셀 VBA의 기본인 IF문에 대하여 배워보기로 한다. 우선 조건이라고 하는 것은 조건이

정해진 규칙인 경우 첫번째결과를 적용하고 그렇지 않으면 두번째 결과를 적용하는 영어의 문법과 동일하다.

 

 

이런 IF문의 경우 1가지 혹은 몇가지 규칙에 대하여 모두 적용이 가능하나 3 ~ 4가지 이상의 조건인 경우는

Case문 등이 있으므로 단순한 몇 가지 조건을 사용하는 경우 적용하면 좋다.

 

 

IF문의 적용 예)

아래의 경우 a라는 정수형 변수를 선언한 다음 a=1이라고 이미 정의하였다. 이것은 추후 a값을 다른값

으로 입력하면 결과가 변한다는 것을 알 수 있다.

 

그리고, a 가 2보다크면 조건이 참인경우를 실행하고 그렇지 않은 경우는 조건이 참이 아닌경우를

하는 프로시져이다.

 

 

Sub IF문()

Dim a As Integer
a = 1

    If a > 2 Then    '<-- 조건
      ' a가 2보다 큰 경우 실행(조건이 참 인경우
    Else       
        ' a가 2보다 크지않은 경우 실행   (조건이 참이 아닌경우)  
    End If

 

End Sub

각 조건의 결과를 메세지 박스를 아래와 같이 넣어보면 a가 1인경우는 아래와 같은 메세지박스가 출력

되는 것을 알 수있다.

 

 

Sub IF문()

Dim a As Integer
a = 1
    If a > 2 Then    '<-- 조건
      ' a가 2보다 큰 경우 실행(조건이 참 인경우)
        MsgBox "a가 2보다 크다"
    Else
      ' a가 2보다 크지않은 경우 실행   (조건이 참 인경우)
        MsgBox "a가 2보다 크지않다"
    End If
End Sub

 

 

 

다음은 다중 조건을 주어 문장을 만드는 법에 대한 설명이다. 다중조건은 IF문장안에 추가IF문을 넣는

방식과 ELSE IF를 이용한 조건을 하나로 만드는 법이 있다.

이것은 몇가지 조건을 충족하는 프로세스를 만들때 적용할 수 있다. 예를 들어 몇가지 문장을 살펴보자.

 

 

Sub 첫째다중IF문()

Dim a, b As Integer
a = 5
b = 3
    If a > 2 And b > 2 Then     '<-- 조건
      ' a가 2보다 큰 경우 실행(조건이 참 인경우)
        MsgBox "a와b가 2보다 크다"
    Else
      ' a가 2보다 크지않은 경우 실행   (조건이 참 인경우)
        MsgBox "a와b가 2보다 크지않다"
    End If
End Sub

 

Sub 셋째다중IF문()

Dim a, b As Integer
a = 5
b = 3
    If a > 2 Then     '<-- 조건
      ' a가 2보다 큰 경우 실행(조건이 참 인경우)
        If b > 2 Then
            MsgBox "a와b가 2보다 크다"
        End If
    Else
      ' a가 2보다 크지않은 경우 실행   (조건이 참 인경우)
        MsgBox "a와b가 2보다 크지않다"
    End If
End Sub

 

 

위의 두 프로시져의  결과는 MsgBox "a와b가 2보다 크다" 라고 동일한 결과가 나오는 프로시져이다.

 

Sub 둘째다중IF문()

Dim a, b As Integer
a = 1
b = 1
    If a > 2 Or b > 2 Then     '<-- 조건
      ' a가 2보다 큰 경우 실행(조건이 참 인경우)
        MsgBox "a와b중 하나가 2보다 크다"
    Else
      ' a가 2보다 크지않은 경우 실행   (조건이 참 인경우)
        MsgBox "a와b중 하나가 2보다 크지않다"
    End If
End Sub

 

 결과 : MsgBox "a와b중 하나가 2보다 크지않다"

 

 

 


Sub 넷째다중IF문()

Dim a As Integer
a = 3
    If a = 1 Then     '<-- 조건
       MsgBox "a는 1이다"
    ElseIf a = 2 Then
       MsgBox "a는 2이다"
    Else
       MsgBox "a는 3이다"
    End If
End Sub

 

결과: MsgBox "a는 3이다" , 이 경우 3까지 입력을 제한할 경우 사용할 수 있다

 

  

위와 같이 하나의 수식으로 여러조건을 만족할 수 있는 프로세스를 다양하게 만들 수 있으므로

상황에 맞게 적절히 사용하는 것이 최적의 방법이라고 하겠다.

 

불량율관리 프로그램 만들기 시리즈

 

1. 매크로의 이해

2. 절대참조와 상대참조

3. 조건절 if

4. 반복문 for - next

 

5. 조건문 select case

6. 데이터베이스의 구성

7. 유효성검사를 통한 입력 규칙만들기

8. 이중유효성검사 적용

 

9. 엑셀 데이터베이스 사용설정 적용하기

10. 분석툴 만들기

11. 데이터입력 행삽입 모듈만들기

12. 대용량 DB사용을 위한 SQL함수 알아보기

13. SQL 합수 프로그램에 적용하기

 

 

728x90
반응형
:
Posted by mapagilove
반응형