기초부터 실전까지 VBA 엑셀20 - with 구문

IT 관련 지식/VBA 공부|2019. 11. 13. 08:00
반응형
728x170

<VBA 엑셀20 - with>

 

이제부터는 조금 어려운 단계의 프로그래밍을 배워보도록 하겠습니다.

 

코딩에서 나쁜 행동중 하나는 바로 반복입니다.

 

우리는 반복을 피하기 위하여 For, Do~Loop 같은 반복문을 배웠습니다.

 

하지만 이번에는 코딩을 더욱 간략하게 하는 With 이라는 구문에 대해 배워보겠습니다.

 


1. VAB With의 기본형

 

다음은 With의 기본 사용법입니다.

 

With 오브젝트
  .오브젝트 = 값 
  .메소드 
End With

 

300x250

아마 이렇게만 보시면 이해가 잘 가지않으리라 생각합니다.

 

그래서 바로 예제로 설명을 해보겠습니다.

 


2. VBA With의 예문

 

다음은 결과가 같은 예문을 한쪽은 With구문을 사용하지 않고

 

다른 한쪽은 With 구문을 사용하여 표현해보겠습니다.

 

아래의 코딩은 With 구문을 사용하지 "않은" 코딩입니다.

Worksheets(1).Cells(1, 1) = 1
Worksheets(1).Cells(2, 1) = 2

 

다음은 With 구문을 "사용한" 예문입니다.

With Worksheets(1)
  .Cells(1, 1) = 1
  .Cells(2, 1) = 2
End With

 

둘 다 Sheet(1)의 "A1", "B1"에 각각 "1", "2"를 넣는 코딩이지만

 

그 과정이 조금 다릅니다.

 

위의 예문의 경우 조금 짧기 때문에 With 구문을 사용한 예문이 좀 더 복잡하게 보입니다.

 

그럼 실제로 사용하는 예를 한번 보겠습니다.

With Range("A1").Font
  .Bold = True
  .Color = vbRed
  .Size = 12
End With

이번에는 좀 더 확 와닿을거라 생각합니다.

 

우리는 With Range("A1").Font만 보고 이제부터 "A1"의 Font에 대해 뭔가를 설정할 것이라는 것을 알 수 있습니다.

 

그리고 그 설정은 Bold / Color / Size라는 것도 알 수 있습니다.

 

이 처럼 With 구문을 사용할 때에는 한개의 오브젝트(Range("A1").Font)에 여러개의 매소드(.Bold 등)를 사용할 때 효과적이라는 것을 알 수 있습니다.

 

또한 With 구문을 사용할 경우 프로그래밍의 처리속도도 빨라지게 됩니다.

 

단, 사용하는 매소드가 적은데 With 구문을 사용할 경우 오히려 가독성이 떨어지게 됩니다.

 

또한 With 구문을 사용했을 경우에는 마지막에 "End With"을 반드시 적어야합니다.


오늘은 여기까지 하겠습니다.

 

다음에는 붙여넣기의 새로운 방법에 대해 알아보겠습니다.

(보니까 포스팅 하는 것을 까먹었더라고요....)

 

더 많은 VBA 자료를 보고 싶다면 ☜ 여기!!

[IT 관련 지식/VBA 공부] - 기초부터 실전까지 VBA 엑셀1 - 매크로 사용준비

[IT 관련 지식/VBA 공부] - 기초부터 실전까지 VBA 엑셀7 - Const 상수 선언

[IT 관련 지식/VBA 공부] - 기초부터 실전까지 VBA 엑셀14 - 메세지 박스 MsgBox

 

일본에서 이야기하는 한국뉴스!

[일본 뉴스] - 일본 뉴스 분석 - 日 주요 언론, 조속한 한일 정상회담 개최 촉구

[일본 뉴스] - 일본 뉴스 분석 - 아베, 이 총리에게도 "국가간 약속지켜야" 거듭 억지

 

직장인인데 일본에서 친구를 만들고 싶다고요? 👈Click!

반응형

댓글()

기초부터 실전까지 VBA 엑셀19 - 셀 Clear, Copy, Cut, Paste

IT 관련 지식/VBA 공부|2019. 11. 11. 08:00
반응형
728x170

<VBA 엑셀19 - 셀 Clear, Copy, Cut, Paste>

 

이번에는 셀을 조작하는 또 다른 방법에 대해 알아보겠습니다.

먼저 셀을 비우는 방법부터 설명하겠습니다.

 


1. VBA 셀 Claer / ClearContents 기본형

 

먼저 기본형의 경우 다음과 같습니다.

 

메소드 설명
Clear 전체 (수식 · 문자 · 서식 · 댓글 모두)를 지 웁니다.
ClearContents 수식과 문자를 삭제합니다.
ClearFormats
서식만 삭제합니다.

 

Clear에 대한 메소드는 사실 위에 3개 말고도 많이 있지만

거의 사용하지 않기 때문에 3개만 게시하였습니다.

 

사용법은 다음과 같습니다.

 

Cells(2, 2).Clear
Range("B2").ClearContents
Range("B2:C10").ClearFormats
Rows(2).Clear
Columns(2).ClearContents

 

셀, 행, 열 모든 곳에 사용할 수 있습니다.

 

다음으로 셀을 복사, 잘라내기, 붙여 넣기를 하는 방법에 대해 알아보겠습니다.


2. VBA에서 셀(Cells) 복사(Copy), 잘라내기(Cut), 붙여 넣기(Paste)

 

먼저 복사(Copy)의 기본형은 다음과 같습니다.

Range("A1").Copy

Range("B1").Select
ActiveSheet.Paste

Range("C1").Select
ActiveSheet.Paste

Application.CutCopyMode = False

 

그럼 하나씩 살펴보겠습니다.

300x250

 

① 먼저 셀(Range)을 복사(Copy)합니다 = Range("A1").Copy

 

② 그리고 붙여 넣을 셀을 선택합니다 = Range("B1").Select 

 

③ 붙여 넣기 명령을 합니다 = ActiveSheet.Paste 

 

④ 복사 명령이 지정된 셀을 해제합니다(점점 상태) = Application.CutCopyMode = False

 

위의 세 단계는 보시는 바와 같이 ②, ③을 반복하여 복수의 셀에 같은 내용을 많이 붙여 넣을 수 있습니다.

액티브 셀에만 붙여 넣기를 할 수 있기 때문에 한 번에 여러 셀에 붙여 넣을 수 없습니다.

 

이번엔는 잘라내기(Cut)의 기본형을 보겠습니다.

Range("A1").Cut
Range("B1").Select
ActiveSheet.Paste

형태는 Copy와 거의 유사합니다.

 

하지만, 복사와 달리 잘라내기(Cut)는 연속적으로 붙여 넣을 수 없습니다.

 


3. 주의사항

 

셀의 범위를 복사하기 위해서는 

 

할 수 있는 경우가 정해져 있습니다.

 

Range("A1:B10").Copy ・・・ 
Range("A1,B5").Copy ・・・ X
Range("A1,B5,C10").Copy ・・・ X 
Range("A1:B10,C11:D20").Copy ・・・ X

 

보시는 바와 같이 개별적으로 떨어진 위치의 셀의 경우 한 번에 복사할 수 없습니다.

꼭 범위를 설정해야만 다수의 셀 복사가 가능합니다.

 


4. 다른 시트에서 복사, 붙여 넣기

 

이 기능은 복사뿐 아니라 잘라내기로도 사용할 수 있습니다.

 

Range("A1").Copy
Sheets("시트이름1").Select
Range("B1").Select
ActiveSheet.Paste
Application.CutCopyMode = False

시트 이름을 선택 → 셀 선택을 하면

 

다른 시트에 복사한 내용을 붙여 넣을 수 있습니다.

 

물론 반대로 다른 시트에서 복사도 할 수 있습니다.

Sheets("시트이름1").Select  
Range("A1").Copy

Sheets("시트이름2").Select 
Range("B1").Select 
ActiveSheet.Paste 
Application.CutCopyMode = False

 

위와 같이 

다른 시트에서 복사 → 다른 시트에 붙여 넣기

도 할 수 있습니다.

 


오늘 포스팅은 여기서 마치겠습니다.

 

더 많은 VBA 자료를 보고 싶다면 ☜ 여기!!

[IT 관련 지식/VBA 공부] - 기초부터 실전까지 VBA 엑셀1 - 매크로 사용준비

[IT 관련 지식/VBA 공부] - 기초부터 실전까지 VBA 엑셀7 - Const 상수 선언

[IT 관련 지식/VBA 공부] - 기초부터 실전까지 VBA 엑셀14 - 메세지 박스 MsgBox

 

일본에서 이야기하는 한국뉴스!

[일본 뉴스] - 일본 뉴스 분석 - 日 주요 언론, 조속한 한일 정상회담 개최 촉구

[일본 뉴스] - 일본 뉴스 분석 - 아베, 이 총리에게도 "국가간 약속지켜야" 거듭 억지

 

직장인인데 일본에서 친구를 만들고 싶다고요? 👈Click!

반응형

댓글()

일본 취업 - 사람이 부족하다는 일본 진짜일까? 정밀분석

반응형
728x170

<일본에 취업하는 외국인은 얼마나 될까??>

 

이번에는 조금 흥미로운 통계 자료를 들고 왔습니다!

 

진짜 일본은 사람이 부족해서 외국인을 고용할까?

 

일본 고용시장에 외국인이 얼마나 있을까? 

 

일본 기업은 외국인을 채용하려고 할까? 에 대한 통계 자료를 들고 왔습니다.

 

일본에 취업을 준비하는 사람들한테도 도움이 되겠죠? ㅎㅎ

 

먼저 외국인을 채용하려는 일본 기업을 얼마나 될지 한번 보겠습니다.

 


1. 외국인 유학생의 채용상황

 

아래의 통계 도표는 2018년도의 일본 기업의 외국인 채용 실적입니다.

 

채용을 했거나 할 예정이다 = 34.1%

채용을 할 생각이 없다 = 65.9%

입니다.

하지만 2019년도 예상을 보면 갑자기 확 올라갑니다.

 

채용을 했거나 할 예정이다 = 53.1%

채용을 할 생각이 없다 = 46.9%

 

또한 2018년도에는 제조업이 대부분이었지만 2019년도에는 비제조업이 더 많은 것을 알 수 있습니다.

도표만 보더라도 일본에 노동인구가 얼마나 부족한지 알 수 있겠네요...

 

상식적으로 비제조업에는 외국인을 잘 고용하질 않죠.

300x250

그럼 제조업이 아니라면 다들 어디로 취업을 하는지 한번 알아봅시다.

 


2. 외국인 유학생이 들어간 회사의 업종

 

아래의 도표를 보시면 아시다시피 비제조업에서는 IT가 제일 많습니다.

또한 의외로 제조업계에서는 연구, 개발 쪽에 가장 많은 인력이 투입되어있습니다.

 

우리나라의 경우 제조업에 종사하는 외국인은 대부분 생상 쪽 관계인데 이 조사 결과는 조금 흥미롭네요.

 

그리고 다음을 보면 기업의 규모당 얼마나 많은 외국인을 채용했는지 알 수 있습니다.

 

1명을 채용한 기업들이 제일 많고 5명을 넘게 채용한 기업은 거의 없네요.

 

이는 인구 감소만의 문제가 아니라는 것을 조금 알 수 있는 것 같습니다.

정말 인구 감소가 문제면 더 많은 외국인 노동자가 투입되어야 정상이라고 생각합니다.

저 숫자의 의미는 "딱 필요한 사람만" 고용했다고 느껴지네요...

 

다음은 외국인을 고용한 목적에 대해 알아보겠습니다.

 


3. 외국인을 고용한 목적

 

역시 제 생각대로 사람이 부족해서 외국인을 고용하는 것은 아녔습니다. 

위에서 순서대로 보자면

 

1위 : 우수한 인재 채용을 위해

2위 : 우수한 어학력이 필요해서

3위 : 해외 거래처와 관계된 일을 맡기기 위해

 

그리고 밑에서 세 번째에

 

 

 

7위 : 일본 내에서의 채용만으로는 부족해서

 

즉, 외국인을 채용하는 일본 기업의 대부분이 단순히 노동력이 부족해서 

외국인을 채용하고 있다는 것은 아니라는 것입니다.

 

 그렇기 때문에 일본에서 대기업에 들어가고 싶은 분은 그에 상응하는

능력을 갖추지 않다면 들어가기 힘들 것입니다.

 

그럼 다음으로 채용하는 이유 2위인 필요로 하는 어학능력에 대해 알아보겠습니다.

 


4. 일본 기업에서 필요로 하는 어학능력

 

먼저 요구하는 일본어 능력입니다.

 

 

보시면 네이티브급의 능력을 요구하는 회사는 10% 정도밖에 되질 않습니다.

하지만, 입사하고 나서는 공부를 하여 네이티브급이 됐으면 한다는 기업은 30% 정도 되네요.

 

하지만, 대부분의 기업이 일본어 상급자 정도만 돼도 만족하는 듯합니다.

 

뭐, JLTP N1 또는 N2정도...? 일 것 같네요.

 

그럼 이번에는 요구하는 영어 능력은 어떨까요?

 

 

요구하는 영어능력은 그렇게 놓지 않습니다.

대부분이 영어는 거의 필요 없다고 말하고 있고 요구한다고 해도

 

중, 상급자 정도의 스킬입니다.

 

아마 영어로 대화하여 친구를 만들 수 있을 정도면 충분할 것 같습니다.

 

사실 일본에서 일하시는 분들은 알겠지만 회사에 따라 영어를 전혀 사용하지 않는 곳도 있으니....

틀린 조사는 아닌 듯합니다.

 


여기서 잠시 끊고 다음 포스팅에서 이어가겠습니다.

 

다음에는

해외 대학을 나온 사람은 얼마나 필요로 할까?

 

채용한 외국인의 국적은 어떻게 되나?

 

등 여러 가지에 대해 알아보겠습니다!

 

일본 취직에 대해 더 알고 싶다면?? 👈 Click!! 

 

[일본 직장생활/일본 취업] - 일본에 취업하기 - 일본에 오고 싶은 이유

[일본 직장생활/일본 취업] - 일본 취업 시 반드시 고려해야 되는 4가지

[일본 직장생활/일본 취업] - 일본에 취업하기 - 최소 or 최저 조건 선택

[일본 직장생활/일본 직장생활] - 일본에 취업하기 - 취업 방법에 대한 이야기

[일본 직장생활/일본 취업] - 일본 취업 - IT 직종직종이 일본에서 좋은 이유 - 구직자 필독!

반응형

댓글()

기초부터 실전까지 VBA 엑셀18 - 셀 특성(서식) 지정

IT 관련 지식/VBA 공부|2019. 11. 9. 08:05
반응형
728x170

<VBA 엑셀18 - 셀 특성(서식) 지정>

 

이번에는 VBA를 이용해 셀의 서식을 지정하는 방법에 대해 알아보겠습니다.

 

이전 시간에 이어 또 셀의 조작에 대한 이야기입니다!

[IT 관련 지식/VBA 공부] - 기초부터 실전까지 VBA 엑셀17 - 셀 선택, 활성화, 삭제, 삽입

 

셀에 대한 내용은 별로 재미없지만, 꼭 필요한 내용이니 한번쯤 봐두면

 

나중에 아! 이런 기능이 있었지 하면서 기억이 나실겁니다.

 

프로그래밍이라는 것은 코딩을 전부 기억할 필요가 없습니다.

 

여러분이 필요할 때 인터넷 검색을 해서 찾으시면되요.

 

단지 이러한 기능이 있다는 걸 알고 있어야 검색을 할 수 있겠죠? ㅎㅎ

 


1. VBA로 셀의 표시형식 바꾸기

먼저 VBA가 아니라 엑셀에서 이를 어떻게 수정하는지 보겠습니다.

 

엑셀에서 셀을 클릭한 후 Ctrl+1을 눌러봅시다.

 

그럼 아래와 같은 화면을 볼 수 있는데, 이게 셀의 표시형식입니다.

 

이 항목을 이용하면 간편하게 숫자의 단위, 날짜, 통화 등을 설정할 수 있습니다.

 

그럼 이제 VBA에서 이를 실행하는 방법을 보겠습니다.

 

Range("A1").NumberFormatLocal = "표시 형식 문자"

 

여기 있는 "표시 형식 문자"의 경우 아래의 인덱스를 의미합니다.

 

형식 문자 설명
G / 표준 표준 형식입니다.
_ (언더 바) _ (언더 바)에 계속되는 문자의 폭만큼 간격을 확보 할 수 있습니다.
@ 입력 값을 문자열로 그대로 표시합니다.
# 소수점 중 측에서도 형식의 # 기호의 수보다 적은 경우 0이 표시되지 않습니다.
0 숫자의 자릿수를 의미합니다. 
? 유효 자리가 아닌 0에 공백이 삽입되기 때문에 열에서 소수점의 위치가 정렬됩니다.
. (마침표) 수치에 소수점을 표시합니다.
(쉼표) 숫자 구분 기호를 표시합니다.
yy 연도를 두 자리 숫자로 표시합니다.
yyyy 연도를 네 자리 숫자로 표시합니다.
m 개월 수를 표시합니다. 1 ~ 12을 표시 할 수 있습니다.
mm 01 ~ 12를 표시 할 수 있습니다. 1 ~ 9 01 ~ 09과 0 첨부로 표시됩니다.
mmm Jan ~ Dec
mmmm January ~ December
d 일자를 표시합니다. 1 ~ 31을 표시 할 수 있습니다.
dd 01 ~ 31를 표시 할 수 있습니다.
ddd Sun ~ Sat
dddd Sunday ~ Saturday
aaa 일 ~ 토
aaaa 일요일 ~ 토요일
h 시간을 표시합니다. 0 ~ 23가 표시됩니다.
hh 00 ~ 23를 표시 할 수 있습니다.
m 분을 표시합니다. 0 ~ 59가 표시됩니다.
mm 00 ~ 59를 표시 할 수 있습니다.
s 초를 표시합니다. 0 ~ 59가 표시됩니다.
ss 00 ~ 59를 표시 할 수 있습니다.
[h] 24시를 넘는 시간을 표시합니다.
[m] 60 분 이상의 분을 표시합니다.
[s] 60 초 이상 초를 표시합니다.

즉, 

Range("A1").NumberFormatLocal = "yyyy/mm/dd"

 

이렇게 코딩을 한 후 

 

"A1"에 19450812라고 입력하면 자동으로

 

1945/08/12라고 나오게 됩니다.

 

300x250

2. VBA로 셀 내용 배치하기

주로 사용하는 가로의 배열만 알려드리겠습니다.

 

먼저 기본형의 경우 다음과 같습니다.

 

Range.속성 = 설정 값

여기서

속성 = HorizontalAlignment

설정값 = xlCenter

이렇게 지정해주시면 됩니다. 

HorizontalAlignment  xlCenter 중앙
 xlDistributed 균등 분할
 xlJustify 맞춤
 xlLeft 왼쪽
 xlRight 오른쪽

즉, Ragne("A1").HorizontalAlignment=xlCenter

로 설정시 "A1" 셀은 중앙정렬의 상태가 됩니다.

 


3. VBA로 셀 색채우기

먼저 기본형입니다.

 

Range.Interior.속성치= 설정치

 

속성치 = Color

설정치 = 인덱스 또는 RGB

속성 속성 설명 속성 설정 값 및 설명
Color 채우기 색 RGB 값을 나타내는 상수
ColorIndex 채우기 색 56 색 팔레트의 인덱스

 

이를 다음과 같이 2가지로 사용할 수 있습니다.

 

① Color 속성사용

vbBlack 검정
vbRed 빨랑
vbGreen 초록
vbYellow 노랑
vbBlue 파랑
vbWhite 화이트

Ragne("A1").Interior.Color = vbBlack

 

이렇게 하면 "A1" 셀은 검은색으로 칠해질 것입니다.

 

② 팔레트를 이용

 

팔레트를 이용할 경우 다음과 같이 RGB 함수를 이용해야합니다.

 

RGB (red, green, blue)

 

이를 활용하여 다음과 같이 나타냅니다.

 

Ragne("A1").Interior.Color = RGB(0, 0, 0)

 

RGB(0, 0, 0)의 경우 vbBlack과 마찬가지로 검은색을 나타냅니다.

 


이렇게 오늘은 셀의 서식에 대해 공부했습니다.

 

오늘 힘드네요 ㅎㅎ

 

다음에는 셀을 복사, 붙여넣기 하는 방법을 배워보도록 하겠습니다.

 

더 많은 VBA 자료를 보고 싶다면 ☜ 여기!!

[IT 관련 지식/VBA 공부] - 기초부터 실전까지 VBA 엑셀1 - 매크로 사용준비

[IT 관련 지식/VBA 공부] - 기초부터 실전까지 VBA 엑셀7 - Const 상수 선언

[IT 관련 지식/VBA 공부] - 기초부터 실전까지 VBA 엑셀14 - 메세지 박스 MsgBox

 

일본에서 이야기하는 한국뉴스!

[일본 뉴스] - 일본 뉴스 분석 - 日 주요 언론, 조속한 한일 정상회담 개최 촉구

[일본 뉴스] - 일본 뉴스 분석 - 아베, 이 총리에게도 "국가간 약속지켜야" 거듭 억지

 

직장인인데 일본에서 친구를 만들고 싶다고요? 👈Click!

반응형

댓글()