2017-02-17 3 views
0

아래쪽 셀에 간단한 =SUM(ABOVE) 수식을 사용하여 Word 2010에서 3x6 테이블을 만들려고합니다. 내 문제는 사용자가 위의 셀 중 하나에서 값을 변경하면 합계를 자동으로 조정/계산하는 것입니다.Word에서 자동 합계 테이블

누구든지 VBA를 사용하여 매크로를 만드는 방법을 알고 있습니까?

감사

답변

0

Excel 수식과는 달리, Word 필드가 자동으로 업데이트되지 않는 그들을 그렇게 만들 수있는 설정이 없다. 문서의 모든 변경 내용을 가로 채는 VBA 솔루션은 각 키 입력에 대한 코드를 트리거하므로 실행 가능하지 않습니다.

는 우선 순위에 따라, 실제적인 솔루션이 있습니다

옵션 1 - 문서를 수동으로 업데이트 :

Ctrl+A (select All) Then press F9 (update all document fields). 

당신은 당신이 원하는 분야에 선택적으로 업데이트를 할 수도 있습니다. 예를 들어, 테이블의 마지막 행을 마우스로 선택한 다음를 누르십시오.

옵션 2 - Excel Table을 삽입하고 마지막 행에 수식을 사용하십시오. Excel은 테이블을 편집 할 때 수식을 자동으로 업데이트합니다.

옵션 3 - 가로 챌 변경 응용 프로그램의 WindowSelectionChange 이벤트

' Code module ThisDocument 
Option Explicit 
Private WithEvents app As Word.Application 
Private Sub app_WindowSelectionChange(ByVal Sel As Selection) 
    If Sel.Range.InRange(Tables(1).Range) Then Fields.Update ' or: Tables(1).Fields.Update 
End Sub 
Private Sub Document_Open() 
    Set app = Me.Application 
End Sub 

옵션 4- VBA, 정기적 그래서 모든 초 자체를 호출하는 기능과 자동 업데이트 프로그램을 만들고 업데이트 원하는 경우 모든 (또는 선택적) 필드.

' Code module ThisDocument 
Option Explicit 
Public Sub updateFields() 
    Fields.Update ' or: Tables(1).Fields.update 
    Application.OnTime Now + TimeSerial(0, 0, 1), "ThisDocument.updateFields" 
End Sub 
Private Sub Document_Open() 
    Application.OnTime Now + TimeSerial(0, 0, 1), "ThisDocument.updateFields" 
End Sub 
0

그래서 알아 냈습니다. 개발자 모드로 이동하면 문서에 텍스트 상자를 추가 한 다음 매크로를 사용하여 텍스트 상자를 연결하고 자동 합계 기능을 만들 수 있습니다.