1. FAQ
  2. 엑셀(Excel)
  3. AfterEffects
  4. Premiere
  5. Photoshop
  6. ETC

이 게시판은 아별닷컴 회원만 질문을 올릴 수 있습니다. 회원에게 주어지는 특권인셈이지요. 회원이 아닌 분들은 열람만 가능합니다.

[레벨:30]아별

2012.07.25 14:39

제가 제시했던 코드는..

자동 필터된 최종 결과가 헤더만 있을 경우에는 없다고 표시하라는 의미였습니다.

If rngAutoFilter.SpecialCells(xlCellTypeVisible).Cells.Count = 6 Then

 

엑셀대단해님이 코드에 적용하신 것은..

헤더를 일단 제외한 다음에 저 코드를 적용하려 했기 때문에 에러가 난 것입니다.

헤더를 제외하기 전에 저 코드로 필터된 내용이 있는지 확인하면 될 것 같네요..

 

    '### 필터된 결과가 헤더만 있을때는 임시 공간에 False를 채워넣는다. by abyul.com 2012.07.25
    If AllRng.SpecialCells(xlCellTypeVisible).Cells.Count = AllRng.Columns.Count Then
        Range(TRng, TRng.Offset(0, 1)) = Array(False, False) '### 필터링한 결과가 없으면 False를 채워넣는다.
    Else
        Set DataRng = AllRng.Offset(1).Resize(AllRng.Rows.Count - 1)            '// 헤더 로우를 제외시킴
        DataRng.SpecialCells(xlCellTypeVisible).Copy TRng                        '// DataRng의 데이터를 임시영역인 TRng로 이동 (즉, Temp_Save 시트에 쓰기가 됨)
    End If

 

main 함수에서 아래처럼 첫번째 값이 False인 경우에 해당 값이 없다고 하고 종료하면 되겠습니다.

Sub Eng_Labor_Form_make()

    If Temp_DataSet(1, 1) = False Then
        MsgBox "해당 하는 데이터가 없습니다."
        Exit Sub
    End If

 

 

자세한건 첨부파일을 참고하세요..

다운받기 : Test-1.xlsm

 

 

** 역시 엑셀파일을 첨부해주시니.. 답변하기가 쉽네요..

    앞으로 질문하실거면 엑셀 파일을 꼭 좀 첨부해주세요.. ^^

 

 

문서 첨부 제한 : 0Byte/ 2.00MB
파일 제한 크기 : 2.00MB (허용 확장자 : *.*)