나눔터  
  HOME > 나눔터 > 묻고답하기 > 엑셀
엑셀
엑셀에 대한 질문과 답변을 올려주세요. 단, 취지에 맞지 않는 글은 운영자가 삭제합니다.
 "000 님, 도와주세요", "부탁 드립니다.", "급합니다!" 등과 같이 막연한 제목을 달지 말아주세요.
[필독] 빠르고 정확한 답변을 얻는 16가지 Tip !
[필독] 저작권법 개정에 따른 이용안내

작성자:  

 j26m33 (wowmins)

추천:  2
파일:     통합 문서1(79).xlsx (9KB) 조회:  2093
제목:   시간 자동계산, vba 질문 드립니다
     
  전제조건: 매일 출력하는 액셀 값이 해외시간으로 -9시간이 되어 있어서
+9시간 값으로 수정을 해야합니다
번거롭게 수정 하지 않고 자동으로 +9시간 해서, 24시간이 초과되면 날짜가 +1이 되는 값을 구하고 싶습니다
현재 vba로 A1셀을 LEFT함수로 나눠서 날짜만 뽑고, MID함수로 시간만 구해서 하고 있는데
도저히 +9시간을 더해서 시간표시셀이 24시간 넘으면 옆의 날짜 셀이 자동으로 1일추가 되는 방법을 모르겠습니다

현재 제가 하는 것은 액셀 첨부파일과 같은데요
F1은 C1값에 +9시간을 더한 값 입니다

1.만약에 24시간을 넘는다면 0시가 되고, E열이 함께 +1일이 되게하는 방법을 구하고 싶습니다..
아니면 그냥 A열에 +9:00 시간을 더해서 자동으로 24시간이 넘으면 +1일 이 되는 함수 이거나. 말이죠

Cells(3,7).VALUE = "=O9+TIMEVALUE("09:00")"
이렇게 쓰면 09:00쪽에 에러가 나네요, "를 지웠따가 #변경했다가 해봐도 에러가 나요
VALUE값에 다르게 쓰는 방법은 없나요?
혹은 완전히 다른 방법이라던지.. 

2.그리고 매크로 버튼이 있는 액셀파일1개를 만들어서. 
실시간으로 새로 불러오는 액셀파일을 매크로로 실행하고 싶은데
어떻게 하면 될까요..?

예를들면
매크로원본(버튼이 있는 파일).xlsm
매크로실행 대상 파일.csv

프로그램 처럼 매크로원본.xlsm을 열고, 매크로실행대상파일.csv 열고.
매크로원본.xlsm에서 매크로를 실행하면 매크로실행대상파일.csv이 매크로 작동 하는것!

입니다
잘부탁드립니다
 
[불량 게시물 신고]  
루아흐뉴마일단 첫번째 문제에 대한 답을 먼저 드리면,
(엑셀 함수로 해결하는 방법입니다.)
E1셀 = DATEVALUE(LEFT(A1:$A$1,10))+IF(LEFT(TIMEVALUE(TEXT(C1,"hh:mm")),2)>15,1,0)

이렇게 입력해보시구요,

문제를 거꾸로 생각해보면요, +9시가 되서 24시간이 넘는다는 말은 곧, 기준 시간이 15시를 넘어선다는 말과 같죠, 그래서 기준 시간이 15시보다 많다면 기존의 날짜에 +1을 해주는 수식이 바로 위의 수식이 되겠습니다.

그리고, VBA 코드를
Cells(3,7).value = "=O9 + TIMEVALUE("09:00")"와 같이 작성하셨는데,

일단, O9셀에 어떤 값이 있느냐에 따라 에러 해석이 달라질 것 같구요, (O9와 뒤에 더해지는 TIMEVALUE의 값 형식이 다른 경우 오류가 날 수 있을 것 같습니다.)
04-27 (00:18)
삭제 ■신고
j26m33매크로 실행할 때 버튼해서 새로운 파일에 적용시키는 방법은 혹시 알 수 있을까요?04-30 (14:40)
삭제 ■신고
        
  

작성일 : 2018-04-26(20:05)
최종수정일 : 2018-04-26(20:05)