반응형

출처: http://tip.daum.net/question/81803860




Q=VLOOKUP(J28,AA28:AB48,2,FALSE)

위와같이 하면 J28조건이 공란일때 #N/A가 나오는데,  0 이나 품목없음으로나오게 할려면 어떻게 해야하는지요



A =iferror((VLOOKUP(J28,AA28:AB48,2,FALSE),"") 이라고


이프에러 수식과 공란표식 "" 혹은 "품목없음" 혹은 "0" 을 사용하시면 될 듯 합니다.

반응형
반응형

출처:http://bongya.tistory.com/entry/%EC%97%91%EC%85%80-%EC%9E%91%EC%97%85%EC%98%81%EC%97%AD-%EC%A0%9C%ED%95%9C%ED%95%98%EA%B8%B0



예전에 엑셀 작업영역을 제한하는 깔끔한 방법을 봤었다.
그때는 지식이 짧아 방법을 풀지 못했었는데,
오늘 삽질을 하다가 알게되었다.
사실 그 때 그 파일이 없어 이 방법이 맞는지는 모르겠지만 겉으로는 같다.;;;


말로 설명이 잘 안되는데, 위 그림과 같이 필요한 셀 외에는 아예 셀이 안보인다.
그 당시는 숨김인 것 까지는 알았는데 숨김해제를 못해
정말 다른 기능이 있는 줄 알고 정말 신기해 했었다.
(사실 정말 다른 기능이 있는지는 아직 확인을 못했다.ㅠㅠ)


아래는 "행/열 숨김" 기능과 ScrollArea를 이용한 적용방법!

다 봤어!

1. 사용하지 않는 행 & 열을 숨긴다.
방법1. Shift + Control + 방향키로 사용하지 않는 셀들을 선택한 다음 Ctrl + 9(행) , 0 (열)로 숨긴다.
<귀퉁이 부분을 선택한 모습>

<필요한 부분만 남기고 사라진 모습>


방법2. 방법1이 간편하고 깔끔하나, 가끔 컴퓨터가 반항을 해서 잘 안되는 경우 수동으로 해결할 수 있다.
 Alt + F11로 Visual Basic 편집기를 켠 다음, Ctrl + G로 "직접 실행" 창을 켬.

Range("r1", "iv1").EntireColumn.Hidden = True             (R열 이하 나머지 열 숨김)
Range("A18", "A65536").EntireRow.Hidden = True         (18행 이하 나머지 행 숨김)

을 각각 타이핑하고 엔터! 붙여넣기로 하면 끝에 한줄만 실행하니 주의.


다 봤어!


다 봤어!

2. ScrollArea를 설정하여 선택가능한 영역을 제한
엑셀에서 원하는 시트의 이름위에서 마우스 우클릭->"코드보기", 또는 Alt + F11로 Visual Basic 편집기로.


ScrollArea 부분에 편집을 허용한 부분만 범위로 설정해준다.

이렇게 하면 편집 가능한 부분 외에는 커서 자체가 이동하지 않기 때문에, 숨김 해제를 할수 없다는 꼼수가!ㅋ

다 봤어!


다봤어

3. 숨겨진 영역 복구하기
방법은 무수히 많다! 몇가지만 소개해 보면

방법1. 우선 위에서 설정한 ScrollArea를 해제해준 다음, 
Alt + g 로 '이동 창'을 열어, A열과 1행을 모두 선택해준다. (a:a, 1:1)

<선택한 모습>

여기서 Ctrl + Shift + 9 ,0 으로 행 또는 열 숨김을 해제하면 된다.

방법2. Alt + F11로 Visual Basic 편집기를 열고 Ctrl + G로 직접명령창으로 이동한 다음
직접 명령을 입력한다.

rows.Hidden=false      (줄 숨김 해제)
columns.Hidden=false  (열 숨김 해제)

이 방법을 쓰면 ScrollArea가 설정되어있어도 숨김해제된다.

다봤어


오류 사항 있으면 알려주세요.^^




반응형
반응형

주소: http://unikys.tistory.com/307


* 목표: 엑셀에서 선택한 영역을 가져와서 각 문자열의 문자 중에 입력한 단어가 있으면 색을 변환하는 매크로 작성

 

* 작성 환경: 엑셀 2010

 

: 예를 들면 아래와 같은 엑셀이 있을 경우 'fer'를 빨간색으로 변환하고 싶다.

 

 

 

 

1. 매크로 생성

: 위의 메뉴바에서 보기 > 매크로 > 매크로 보기를 선택

매크로 이름에 'WordColor' 등 매크로 이름을 넣으면 오른쪽에 '만들기' 버튼이 활성화 된다.

: '만들기' 버튼 클릭

 

 

 

: 그러면 아래와 같이 비쥬얼 베이직 모듈 작성 윈도우가 열린다. 여기다가 매크로를 작성한다.

 

 

2. 매크로 작성

: 아래의 소스를 매크로에 작성한다.

Sub WordColor()
    Dim cell As Range, word As String, startIndex As Integer
    
    word = InputBox(Prompt:="단어를 입력하세요", Title:="문자열 색 변환")

    If Len(word) > 0 Then
        For Each cell In Selection
            startIndex = InStr(1, cell, word, vbTextCompare)
    
            If startIndex > 0 Then
                cell.Characters(startIndex, Len(word)).Font.Color = RGB(0, 0, 255)
                cell.Characters(startIndex, Len(word)).Font.Bold = True
            End If
        Next cell
    End If
End Sub

 

: 위의 소스 코드를 각 줄마다 설명해보면,

 

    Dim cell As Range, word As String, startIndex As Integer

 

: 변수 선언을 하는 부분이다. cell은 이후 사용자가 선택한 영역의 각 셀을 저장할 변수, word는 사용자가 입력할 색을 변환 시킬 문자열, startIndex는 각 셀에 문자열이 있는지 여부와 위치를 저장할 변수이다.

 

 

    word = InputBox(Prompt:="단어를 입력하세요", Title:="문자열 색 변환")

 

: InputBox는 사용자가 입력을 할 수 있는 다이얼로그를 띄우는 명령이다. 위의 명령을 실행하면 아래와 같은 다이얼로그가 띄워진다.

 

 

 

 

If Len(word) > 0 Then
    ' 중략
End If

: 사용자가 입력한 문자열 (word)의 길이가 0 이상이면 진행하고, 0이면 진행하지 않는다. 사용자가 그냥 확인을 눌렀거나 취소를 눌렀을 때 해당된다.

 

    For Each cell In Selection
        ' 중략
    Next cell

 

: Selection은 사용자가 선택한 영역 범위이고, 영역 범위 내의 각 셀을 선택하여 cell에 넣고 '중략 에 들어가는 동작들을 실행한다. 아래는 '중략에 해당하는 부분이다.

 

        startIndex = InStr(1, cell, word, vbTextCompare)

 

: InStr 함수를 이용해서 셀에 word가 있는지 구분한다. InStr은 만약 cell 안에 word가 있는지 1번째 알파벳부터 비교를 하고 그 시작 위치를 반환하여 startIndex에 저장한다.

 

        If startIndex > 0 Then
            ' 중략
        End If

 

: cell안에 word가 있으면 '중략의 부분을 실행한다. 아래의 부분이 '중략에 해당한다.

 

            cell.Characters(startIndex, Len(word)).Font.Color = RGB(0, 0, 255)
            cell.Characters(startIndex, Len(word)).Font.Bold = True

 

: 선택 영역 내부의 셀 (cell)의 문자들을 선택하는데, 위에서 startIndex로 얻어온 word의 시작 위치부터 word의 길이만큼 (Len(word)) 선택하여 Font를 수정한다. Font.Color = RGB(0,0,255)은 색을 파란색으로 설정하게 되고, 이 부분을 수정하면 색이 변환되는 색을 수정할 수 있다. Font.Bold = True로 설정하면 해당하는 범위의 문자들이 볼드체가 된다.

 

 

3. 매크로 실행

: 아래와 같이 작성되었으면 일단 엑셀 셀 중에서 문자열 색을 바꾸길 원하는 부분을 먼저 선택한다.

: 아래의 비쥬얼 베이직 화면에서는 윗쪽 중간의 '재생/실행' 버튼이나 "F5"를 눌러서 실행한다.

: 엑셀 쪽에서 실행하려면 보기 > 매크로 > 매크로 보기 > 매크로 선택한 다음에 실행 버튼을 누르면 된다.

 

 

 

: 그럼 위의 InputBox로 인하여 문자열을 입력받게 되고,

 

 

: 그러면 엑셀을 보면 선택한 영역에 위의 문자열들이 바뀐 것을 볼 수 있다.

 

 

 

* 주의

- 변환하기 전에 바꾸고자하는 범위를 먼저 선택해야한다.

- 바꾸고 나면 취소가 안되고, 글 서식을 다시 설정해야한다.

- 매크로를 저장하려면 xlsm 파일이나 xls (2003 이전 버전 파일)로 저장해야한다.

- 보안 설정을 해제해줘야한다. 파일 > 옵션 > 보안 센터 > 보안 센터 설정 > 매크로 설정으로 들어가서 '모든 매크로 포함'과 'VBA 프로젝트 개체 모델에 안전하게 액세스할 수 있음'을 체크한다.

- InStr로 한번만 체크하기 때문에 문자열을 검색했을 때 나온 가장 먼저 나온 부분의 색만 변환하게 된다. 예를 들면 're'의 색을 변환하고자 할 때 reference 가 있으면 첫번째 're'ference 의 색만 변환된다. 뒷쪽을 할지/앞쪽을 할지 아니면 모든 문자열을 바꿀지 여부를 자동화하려면 추가 작업이 필요하다.

- 변환되는 다른 색으로 바꾸고자 한다면 매크로 안에서 RGB(0,0,255) 이 부분의 RGB 값을 바꾸면 된다.

 

 

* 아래의 첨부 파일은 매크로가 포함되어있으며, 범위를 선택하고 'CTRL+m'의 단축키를 누르면 실행할 수 있게 되어있다.

  

 WordColor.xlsm

반응형
반응형

출처: http://ahejdtptkd.tistory.com/13


엑셀 셀숨기기 숨기기 취소 간단방법


엑셀을 사용하다보면 

있어야 하지만 안보여도 되는 값들

혹은

있던 영역이 갑자기 

사라져서 안보일때..!


셀숨기기 기능을 알아야

위 두가지 경우를 대처(?)할수 있습니다.



위아래로 

엑셀숨기기

라고 적어보았습니다.


E행을 숨겨서

'숨'자를 없애 보겠습니다.



상단에 있는

E열위에 우클릭

숨기기를 선택


엑셀 셀숨기기 숨기기 취소 간단방법


E열이 사라져서

D 다음 F열이 있습니다.

밑에 글자도 보면

엑셀숨기기에서

엑셀기기로 바뀌었습니다.



행도 마찬가지입니다.

8행 위에 우클릭 후

숨기기를 선택

8행 위에있던 '셀'이 사라집니다.



이제 숨겻던 셀을 다시 

나타나게 해보겠습니다.


D열과 F열을 드래그해서 선택

둘중 아무열위에 우클릭 후

숨기기 취소를 눌러줍니다.



E열이 나타났습니다.

글자도 엑셀숨기기로 다시 복구


엑셀 셀숨기기 숨기기 취소 간단방법


아직 8행은 숨겨진 상태죠?

행과열 숨겨진 모든 셀을 보고싶을땐

왼쪽 구석 끝 부분을 클릭합니다.

엑셀에 있는 모든셀이 선택 되었습니다.



그 상태에서 아무 행이나 열

가장 위쪽에 우클릭 후 

숨기기 취소를 누릅니다.

숨겨져 있던 셀들이 모두 나타납니다.



숨겨져 있던 셀들이 모두 나타납니다.


이런식으로 셀이 안보이거나!

셀을 안보고 싶을때는


숨기기/숨기기 취소를 이용하면 됩니다.



반응형

+ Recent posts