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

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

버젼 : 2007

 

1) 20130613-qna-21-sinnary7 파일의 소화기 현황 값(C6 : E76)은 소화기관리대장  파일의 올해 시트(올해는 2013년이니깐 '2013' 이란 시트) 에서 참조합니다.

매년 그 해의 연도수로 시트는 새로 생성되는데 C6 : E76 수식안의 시트명을 모두 매년 바꾸는 번거로움이 생겨서 그럽니다.

 

C6 의 수식 =COUNTIF('[소화기관리대장.xlsx]2013'!본번,B6&" - *")-D6-E6 에서 2013 이란 참조시트명이 해마다 자동으로 바뀌는 방법 좀 알려주세요.

 

2) 참조파일을 굳이 안 열고도 다른 파일 안의 내용을 참조하는 해당파일에서는  #VALUE 가 안 떴던 것 같은데,

 20130613-qna-21-sinnary7 파일은 파일명]시트명! 으로 참조해서 그런가요?

소화기관리대장 파일을 같이 열어줘야만 #VALUE 가 사라지는데 이유를 모르겠습니다.


댓글 '2'

profile

[레벨:30]아별

2013.06.19 17:27:36
*.104.126.21

성투은자님..

안녕하세요?


다른 파일을 참조할때.. COUNTIF는 해당 파일이 열려있지 않으면 값이 업데이트 되지 않습니다.

그래서 특정 파일을 열었다가 닫아주는 매크로를 많이 사용합니다.


음.. 그리고.. 시트 이름을 바꿔주면 자동으로 바뀌게 하는 수식을 생각해봤는데요.

역시 INDIRECT밖에 없어서.. 해봤는데.. 이것도 해당 파일이 열려있어야 업데이트가 되네요..

=COUNTIF(INDIRECT("'"&$U$4&"["&$U$5&"]"&$U$6&"'!"&$U$7),B8&" - *")-D8-E8



그리고.. 값이 바뀔때마다 업데이트를 해줘야하네요.. =_=;;

그다지 좋은 솔루션은 아닌것 같지만.. 일단 구현된걸 올려드립니다.


해당 파일은 항상 열어놓고 작업하시는게 좋을 것 같네요..


다운받기 : 20130613-qna-21-sinnary7_2.xlsm



특정 파일을 열었다 닫아주는 매크로 코드는 아래와 같습니다.


Sub abOpenAndClose()

    Application.ScreenUpdating = False

    Dim rng As Range

    Set rng = [nmSetting]

    Dim sFullPath As String

    sFullPath = rng.Offset(0, 1) & rng.Offset(1, 1)

    Dim wb As Workbook

    Set wb = Workbooks.Open(sFullPath)

    wb.Close False

    Application.ScreenUpdating = True

End Sub


첨부

[레벨:4]성투은자

2013.06.26 11:16:38
*.169.24.176

덕분에 고민되던 것이 해결됐네요. 정말 감사합니다.

문서 첨부 제한 : 0Byte/ 2.00MB
파일 제한 크기 : 2.00MB (허용 확장자 : *.*)
List of Articles
번호 제목 글쓴이 날짜 조회 수
공지 공지 [공지] 아별닷컴의 엑셀 질문방 폐쇄합니다. 카페 질문방 이용하세요.. imagefile [레벨:30]아별 2015-04-23 42237