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

작성자:  

 실버라인 (h1180648)

추천:  2
파일:     조회:  2029
제목:   자동합계
     
  * 답변하시는 분들께 도움이 되도록 자신의 환경을 아래 항목 옆에 기재해 주세요.

 - 엑셀 버전(95,97,2000,xp,2003,2007):

* 아래줄에 질문을 작성하세요 >>

한행에 1줄 1줄 3울 4줄 5울 이런씩으로 자동합계를 해야 하는데요
1줄짜리는 해결이 되는데 2줄 이상은 해결이 안되네요
  어떻게 처리 할 수 있는 방법이 없을 까요?
 현재은 아래 소스처럼  3년계, 5년계 가 동시에 자동 합계 처리 
 해서 사용을 하고 있고
 2줄 이상은 부득이하게 계산기 두드려서 처리하고 있습니다

If Target.Column <> 13 Then Exit Sub
3113555  Cells(Target.Row, 14) = Cells(Target.Row, 11) + Cells(Target.Row, 12) + Cells(Target.Row, 13)

159028 Cells(Target.Row, 17) = Cells(Target.Row, 9) + Cells(Target.Row, 10) + Cells(Target.Row, 11) + Cells(Target.Row, 12) + Cells(Target.Row, 13)
   
End Sub
 
[불량 게시물 신고]  
조삿갓선택 영역(Target)을 예컨대 M5 셀과 같이 하나의 셀만 선택하면 계산되지만, M5:M10 영역을 선택하고 매크로(아마도 이벤트핸들러?)를 실행하면 5행부터 10행까지 쭈욱 계산이 되게 하고 싶다는 거지요?05-23 (21:52)
삭제 ■신고
조삿갓Dim work As Range

If Target.Column <> 13 Then Exit Sub
  For Each work In Target
    Cells(work.Row, 14) = Cells(work.Row, 11) + Cells(work.Row, 12) + Cells(work, 13)

    Cells(work.Row, 17) = Cells(work.Row, 9) + Cells(work.Row, 10) + Cells(work.Row, 11) + Cells(work.Row, 12) + Cells(work.Row, 13)
  Next work
 End Sub

-------------
그런데, 코드가 좀 비효율적이긴 합니다.
For 루프를 두 개 쯤 더 써주면 좋겠는데...
05-23 (21:56)
삭제 ■신고
        
  

작성일 : 2018-05-23(10:15)
최종수정일 : 2018-05-23(10:15)