기본 콘텐츠로 건너뛰기

(VBA) 013 - 조건문을 사용해봅시다! if





#毎日育ちゃん可愛い大会
(설명자료)
pptx파일
(xlsm파일)
xlsm파일


★ 진행목적 : 왜 이걸 사용합니까.
1)VBA나 엑셀을 사용하다보면 특정 조건을 분기로 다른 데이터 처리방법을 사용하는 경우가 있습니다.
2)이것을 처리하는 것이 if문입니다! (switch-case문도 있지만, 이건 다음에 다루도록 할게요!
3)if를 사용하면 하나의 함수를 만들어 여러 가지 데이터를 처리할 수 있다는 이점이 있지요!

★ 어떤 경우 사용합니까?
1)예를 들자면, 데이터의 종류가 3가지라고 합시다. (0보다 크다, 0이다, 0보다 작다)
2)이 때, 이 데이터에 따라 각기 다른 데이터 처리를 해야한다고 하면지금까지의 학습 내용이라면 함수를 세 개를 만들고 각 조건별로 다른 함수를 불러야 하겠지요!
3)이를 해결하기 위해서, 하나의 함수에 조건문을 넣어서 처리해주는 것입니다!


예제의 처리과정을 알아봅시다!
1)예제에서는 0보다 클 때는 10배를 곱하고, 0보다 작을 때는 -1을 곱하고, 나머지의 경우(0인 경우) 1,
바로 옆 Cell에 기록합니다!
2)Cell의 데이터를 조건식으로 받기 위해 If, Elseif의 옆에 달아놓았습니다.
3)이렇게 함수를 구현하면, 하나의 함수로 여러 가지 처리방법을 적용할 수 있겠지요!
4)처음엔 If~then, 두 번째 조건부터는 Elseif~then, 나머지 모든 조건은 Else로 처리하는 것으로 기억합시다!

Sub Test()
    Dim i As Integer
    
    Range("A2").Select
    i = 0
    Do
        If ActiveCell.Offset(i, 0).Value > 0 Then
            ActiveCell.Offset(i, 1).Value = _
            ActiveCell.Offset(i, 0).Value * 10
        ElseIf ActiveCell.Offset(i, 0).Value < 0 Then
            ActiveCell.Offset(i, 1).Value = _
            ActiveCell.Offset(i, 0).Value * (-1)
        Else
            ActiveCell.Offset(i, 1).Value = 1
        End If
        i = i + 1
    Loop Until ActiveCell.Offset(i, 0).Value = ""
    
    Cells(1, 1).Select
End Sub

(中谷育ちゃんのイメージについて)
本当に可愛い中谷育ちゃんのイメージが含まれています。ありがとうございます。
何か問題があったら、教えてください。直ちに処理します。

(About translation this material to the other languages)
If you need this information with other language, then let me know about that.
I will do my best to translate this material to language you ask me to, so you can use this material with the language you want to use. Thank you.

댓글

이 블로그의 인기 게시물

(VBA) 009 - 닫힌 파일에서 데이터 읽어오기 (ExecuteExcel4Macro)

#毎日育ちゃん可愛い大会 예시의 매크로 파일을 테스트 할 때는 저장된 폴더를 사용하실 폴더로 꼭 바꿔주세요! (pptx파일) pptx파일 (xlsx파일) 예제데이터파일   Macro파일 ★ 진행목적 : 왜 이걸 사용합니까 . 1) 행이나 열 , 또는 Sheet 과 같이 다른 특성을 가지는 1,2,3 차 데이터배열에 대한 처리 방법을 지금까지 설명드렸습니다 . 2) 그럼 이제 , 다른 파일에서 데이터를 읽어올 방법을 알아볼 필요가 있습니다 . 어째선가 회사의 데이터를 처리하다보면 , 주기적인 이름의 엑셀 파일 특정 Sheet, Cell 에 있는 경우가 많았습니다 . 3) 엑셀에서 이미 열려있는 파일의 참조는 ‘=‘ 을 사용하면 가능하지만 , 닫힌 파일은 데이터를 읽지 못합니다 . 4) 그래서 이를 처리하기 위해 VBA 의 ‘ExecuteExcel4Macro( 주소 )’ 를 사용합니다 ! ★ 다른 파일의 참조는 어떻게 합니까 ? 1) 열려 있는 다른 파일의 데이터를 읽는 방식은 ‘=‘ 을 입력하고 해당 Cell 을 클릭하면 됩니다 ! 2) 그러면 아래와 같이 (=‘ 파일이 있는 폴더 [ 파일명 ]Sheet 명 ’!Cell 주소 ) 의 형태로 기록 이 됩니다 . ★ 닫힌 파일에 대해서는 INDIRECT 는 사용이 되질 않습니다 ! 1) INDIRECT 로는 처리가 되질 않습니다 . 2) 어째선가 전에 사용하던 INDIRECT 를 사용하고 싶지만 , 사용이 되질 않습니다 . 검색을 해봐도 안된다는 답변만 있네요 ! 3) 파일이 하나 두 개라면 , 이전과 같이 ‘=‘ 를 쓰면 되겠지만 , 그러면 자동화를 통한 효율화가 불가능해지겠죠 ! 4) 그래서 이를 처리하기 위해 VBA 의 ‘ExecuteExcel4Macro( 주소 )’ 를 사용합니다 ! ★ ExecuteExcel4Macro 는 어떻게 사용합니까 ? 1) VBA 의 ExecuteExcel4Macro 란 매크로...

[Python] 크롤링 HTTP Forbidden 403 문제 해결

  코드에는 문제가 없는데 HTTP 403 Forbidden이 발생하길래.. 검색해보니까 서버사이드에서 저 같은 불법 크롤러를 거르는 메쏘드가 있는 모양입니다. 아래의 링크를 참고해서 해결했습니다 https://howtoworld.tistory.com/52 urllib에서 Request를 import 해줘야합니다. 1 2 3 4 def  hellenicshipping():     url  =  Request( "https://www.hellenicshippingnews.com/category/shipping-news/dry-bulk-market" ,headers = { 'User-Agent' :  'Mozilla/5.0' })     html  =  urlopen(url)     savefile  =   './hsn.txt' Colored by Color Scripter cs

(VBA) 004 - Object 이름으로 이미지 복사 붙여넣기

(VBA) 004- Object 이름으로 이미지 복사 붙여넣기 진행목적  :  왜 이걸 사용합니까 . → Object  이름을 사용해서 주기적 복사가 가능한 경우가 있습니다 .     ( 예  :  사진의 이름이  ‘ 사진  1’ ‘ 사진  2’…  로 되어있거나 , ‘Picture 1’, ‘Picture 2’…  로 됨 ) (설명자료는 여기) 설명자료 ( 예제파일은 여기 ) 예제파일 (VBA 진행에 대해) 이제 VBA 세션 자료를 필요할 때 보려고 이 블로그에 남기려고 해요. 앞선 001-003도 옮겨야겠습니다. 올해 내에 100가지 주제를 가지고 포스팅 할 수 있도록 할게요. ( 中谷 育 さんのイメージで に対して) 本当に可愛い中谷 育さんのイメージが 含まれています。 ありがとうございます。 何か問題があったら、教えてください。 直ちに処理します。