Skye에는 워크 시트에 중요한 세 개의 셀이 있습니다. 한 셀에는 시작 날짜가, 두 번째 셀에는 종료 날짜가, 세 번째 셀에는 해당 날짜 사이의 거래 합계가 포함됩니다. 그는이 세 가지 데이터를 동적으로 통합하는 인쇄 된 페이지의 바닥 글을 갖고 싶어합니다. 그는 이러한 값을 반영 할 수 있도록 바닥 글에 수식을 넣는 방법이 있는지 궁금합니다.

Excel에서는 수식을 바닥 글에 입력 할 수 없기 때문에이 작업을 수행하는 기본 제공 방법이 없습니다. 프로그램에서 공식으로 인식되지 않습니다.

그러나 매크로를 사용하여 바닥 글을 설정할 수 있습니다. 이 접근 방식을 위해 시작 날짜가 E1 셀에 있고 종료 날짜가 E2 셀에 있으며 총 트랜잭션이 E3 셀에 있다고 가정합니다. 이 경우 다음과 같은 매크로를 사용할 수 있습니다.

Private Sub Workbook_BeforePrint(Cancel As Boolean)

Dim sTemp As String

With Worksheets("Sheet1")

' Set wording for date range         sTemp = .Range("E1").Text & " through " & .Range("E2").Text         sTemp = sTemp & " (" & .Range("E3").Text & ")"

.PageSetup.CenterFooter = sTemp     End With End Sub

이 매크로에는 몇 가지주의 할 사항이 있습니다. 우선, 매크로는 Sheet1이라는 워크 시트의 바닥 글 정보 만 설정하지만이 워크 시트 이름을 필요한대로 변경할 수 있습니다. 둘째, .Value 속성 대신 .Text 속성이 사용됩니다. 실제로 셀 내용을 참조 할 수있는 세 가지 방법이 있습니다.

sTemp = Worksheets("Sheet1").Range("E1")

sTemp = Worksheets("Sheet1").Range("E1").Value sTemp = Worksheets("Sheet1").Range("E1").Text

처음 두 가지 접근 방식은 동일합니다. sTemp를 셀의 내용과 동일하게 설정합니다. 세 번째 접근 방식은 다릅니다. sTemp를 셀의 서식이 지정된 텍스트와 동일하게 설정합니다. 즉, sTemp는 셀에서 서식이 지정되므로 E1 셀에있는 것과 동일합니다. 날짜와 합계로 작업하고 있으므로 이것이 사용하려는 접근 방식이므로 매크로에서 사용 된 것입니다.

셋째, 매크로는 sTemp 변수에 바닥 글을 설정합니다. 작성된대로 매크로는 다음과 유사한 바닥 글을 생성합니다.

1 Mar 2016 through 15 Mar 2016 ($1,234.56)

다시 말하지만 실제 모양은 E1, E2 및 E3 셀의 서식에 따라 다릅니다. 매크로는 “through”라는 단어를 추가하고 트랜잭션 합계를 괄호로 묶습니다. 이러한 추가 요소는 매크로 내에서 직접 수정할 수 있습니다.

넷째, 매크로는 서식이 지정된 sTemp 문자열 (바닥 글)을 워크 시트 페이지 바닥 글의 가운데 위치에 할당합니다. 바닥 글을 다른 곳에 두려면 .CenterFooter 속성을 .LeftFooter 또는 .RightFooter로 변경하면됩니다.

마지막으로,이 매크로는 ThisWorkbook 모듈에 추가되도록 설계되어 있음을 알아야합니다. 통합 문서가 인쇄되기 직전에 자동으로 실행됩니다. 그러나 인쇄 미리보기에서 워크 시트를 보면 트리거되지 않으므로 실제로 인쇄하기 전에 볼 수있는 내용을 믿을 수 없습니다.

_ 참고 : _

이 페이지 (또는 ExcelTips 사이트의 다른 페이지)에 설명 된 매크로를 사용하는 방법을 알고 싶다면 유용한 정보가 포함 된 특별 페이지를 준비했습니다.

link : / excelribbon-ExcelTipsMacros [새 브라우저 탭에서 특별 페이지를 열려면 여기를 클릭하세요].

_ExcelTips_는 비용 효율적인 Microsoft Excel 교육을위한 소스입니다.

이 팁 (559)은 Microsoft Excel 2007, 2010, 2013 및 2016에 적용됩니다.