Excel 2007 새 날짜 입력

Excel 2007 새 날짜 입력

열릴 때 자동으로 업데이트하고 싶은 세 개의 필드가 있는 Excel 템플릿을 만들려고 합니다.

이 템플릿에 포함될 필드

  • 현재 날짜: 2012년 2월 7일
  • 시트 번호: 25
  • 날짜 사이: 2012년 2월 7일부터 2012년 8월 2일까지

2012년 3월 8일 이후에 이 템플릿을 열면 이 시트에 새 데이터가 포함됩니다.

  • 현재 날짜: 2012년 3월 8일
  • 시트 번호: 26
  • 날짜 사이: 2012년 3월 8일부터 2012년 2월 9일까지

현재 날짜

Private Sub Workbook_Open() 
     ThisWorkbook.Worksheets("Sheet1").Range("A1").Value = Date 
End Sub

Excel 기능을 사용하여 이 작업을 수행할 수 있습니까? 아니면 VB를 사용해야 합니까? 또한 다음에 이 날짜를 사용할 때 새 값으로 템플릿을 자동으로 업데이트하는 방법도 있습니다.

답변1

이를 달성하는 방법에는 여러 가지가 있습니다.

가장 쉬운 방법은 시작 날짜와 종료 날짜가 일치한다고 가정합니다.

  1. "사이" 날짜는 두 개의 셀에 있어야 합니다. "시작" 날짜는 이번 달 2일로 설정되고 =DATE(YEAR( NOW() ), MONTH( NOW() ), 2), "종료" 날짜는 이번 달 2일 +1로 설정됩니다.=DATE(YEAR( NOW() ), MONTH( NOW() ) +1, 2)
  2. 그러면 "현재" 날짜가 "시작" 날짜로 설정됩니다.

그러나 스프레드시트를 저장할 때 이러한 날짜를 "수정"해야 합니다. "현재" 날짜가 셀 B3에 있고 날짜 사이의 2가 셀에 있다고 가정합니다. 다음과 같은 것을 사용할 수 있습니다.

Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)

    Range("B3").Select
    Selection.Copy
    Selection.PasteSpecial Paste:=xlPasteValues

    Range("B5:C5").Select
    Selection.Copy
    Selection.PasteSpecial Paste:=xlPasteValues

End Sub

코드 모듈 에서 ThisWorkbook. 이는 단순히 셀의 값을 복사/붙여넣기하여 수식이 날짜로 대체되도록 합니다.

아, 여기에 한 가지가 추가되어야 합니다. 내가 제공한 코드는 템플릿을 저장할 수 없으므로 템플릿 자체를 편집할 때 트리거되지 않도록 지정된 코드를 래핑해야 하기 때문에 약간 단순합니다. 아마도 가장 쉬운 방법은 파일에 명명 규칙을 사용하는 것입니다. 아마도 템플릿의 파일 이름 시작 부분에 "TEMPLATE"라는 텍스트가 있을 수 있습니다.

관련 정보