【VBA】 서식 설정과 입력 규칙 설정을 실시한다
날짜만 입력할 수 있도록 한다
지정한 범위에 yyyy/mm/dd의 서식 설정과 날짜 이외 입력할 수 없는 입력 규칙을 붙입니다.
너무 반복해서 작업하는 것이 아닐지도 모릅니다만, 이전, 복수의 시트에 입력 규칙을 붙여야 하고 귀찮아서 매크로로 설정했습니다.
다시 할 때를 위해 쓰려고 생각했습니다.
입력 규칙 설정 내용
・2019/01/01 이후의 날짜만 입력 가능
· 셀을 선택하면 입력시 메시지 표시
・2019/01/01 이후의 날짜 이외를 입력하면 에러 메시지를 표시한다
・일본어 입력은 오프로 한다
Sub FormatSetting() '書式設定と入力規則設定を施す
Dim DateCol As Long 'IDの列番号を格納する変数
DateCol = WorksheetFunction.Match("登録日", Master.Rows(1), 0) 'Match関数で列数格納
Dim LastRow As Long '最大行数を格納する変数
LastRow = Master.Rows.Count '最大行数格納
Dim TargetRange As Range '書式設定する範囲を格納する変数
'書式設定する範囲を格納
Set TargetRange = Master.Range(Master.Cells(2, DateCol), Master.Cells(LastRow, DateCol))
TargetRange.NumberFormatLocal = "yyyy/mm/dd" '書式設定
TargetRange.Validation.Delete 'すでに設定されている入力規則を削除
'2019/01/01以降の日付のみ入力許可
TargetRange.Validation.Add Type:=xlValidateDate, AlertStyle:=xlValidAlertStop, Operator:=xlGreaterEqual, Formula1:="2019/01/01"
TargetRange.Validation.IgnoreBlank = True '空白を許可
TargetRange.Validation.InputTitle = "入力規則" '入力時メッセージタイトル
TargetRange.Validation.InputMessage = "yyyy/mm/dd形式で入力してください。" '入力時メッセージ文
TargetRange.Validation.ErrorTitle = "エラー!" 'エラーメッセージタイトル
TargetRange.Validation.ErrorMessage = "2019/01/01以降の日付をyyyy/mm/dd形式で入力してください。" 'エラーメッセージ文
TargetRange.Validation.IMEMode = xlIMEModeOff '日本語入力をオフ
MsgBox "書式設定と入力規則設定が完了しました!"
End Sub
【실행 결과】
와타시 흐름 조건
이번과 같은 매크로는
With
사용하는 분도 많이 있지요?와타시는
With
사용하지 않는 파입니다!나중에 언제나 Range의 지정은
Set TargetRange = Master.Range(Master.Cells(2, DateCol), Master.Cells(LastRow, DateCol))
이렇게하지만 길다.
어느 셀에서 어느 셀까지의 것이 이해하기 쉽고…
이해하기 쉽고 좋은 지정 방법이 많이 있다고 생각합니다.
여러분은 어떻습니까?
Reference
이 문제에 관하여(【VBA】 서식 설정과 입력 규칙 설정을 실시한다), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/KaoTechBlog/items/ff734abe4a7fccf09b3b텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)