source

특정 열의 날짜 형식을 "yyyy-mm-dd"로 설정하는 VBA 코드

manysource 2023. 5. 15. 22:21

특정 열의 날짜 형식을 "yyyy-mm-dd"로 설정하는 VBA 코드

텍스트 상자에 날짜(mm/dd/yyyy)를 지정하는 매크로가 있으며 열 A에 대해 yyyy-mm-dd 형식으로 이 값을 설정하려고 합니다.다음 코드가 있습니다.

Sheets("Sheet1").Range("A2", "A50000").Value = TextBox3.Value
Sheet1.Range("A2", "A50000") = Format(Date, "yyyy-mm-dd")

... 매크로를 실행해도 날짜는 여전히 mm/dd/yyyy 형식입니다.

원하는 형식으로 변경하려면 어떻게 해야 합니까?저는 구글을 통해 많은 종류의 코드를 조사해 보았지만 어떤 것도 제가 원하는 형식을 설정하지 못할 것입니다.

어떤 도움이든 감사히 받겠습니다.

편집: 아래 OP 코멘트의 전체 코드:

 Workbooks.Add
 Range("A1") = "Acctdate"
 Range("B1") = "Ledger"
 Range("C1") = "CY"
 Range("D1") = "BusinessUnit"
 Range("E1") = "OperatingUnit"
 Range("F1") = "LOB"
 Range("G1") = "Account"
 Range("H1") = "TreatyCode"
 Range("I1") = "Amount"
 Range("J1") = "TransactionCurrency"
 Range("K1") = "USDEquivalentAmount"
 Range("L1") = "KeyCol"
 Sheets("Sheet1").Range("A2", "A50000").Value = TextBox3.Value
 Sheet1.Range("A2", "A50000").NumberFormat = "yyyy-mm-dd"

범위 사용NumberFormat다음과 같은 범위 형식을 강제로 지정하는 속성:

Sheet1.Range("A2", "A50000").NumberFormat = "yyyy-mm-dd"

추가된 워크북이 아닌 코드가 있는 워크북에 서식을 적용하고 있습니다.당신은 시트와 범위 참조를 완전히 검증하는 습관을 들이고 싶을 것입니다.아래 코드는 Excel 2010에서 작동합니다.

Sub test()
Dim wb As Excel.Workbook
Set wb = Workbooks.Add
With wb.Sheets(1)
    .Range("A1") = "Acctdate"
    .Range("B1") = "Ledger"
    .Range("C1") = "CY"
    .Range("D1") = "BusinessUnit"
    .Range("E1") = "OperatingUnit"
    .Range("F1") = "LOB"
    .Range("G1") = "Account"
    .Range("H1") = "TreatyCode"
    .Range("I1") = "Amount"
    .Range("J1") = "TransactionCurrency"
    .Range("K1") = "USDEquivalentAmount"
    .Range("L1") = "KeyCol"
    .Range("A2", "A50000").Value = Me.TextBox3.Value
    .Range("A2", "A50000").NumberFormat = "yyyy-mm-dd"
End With
End Sub

두 라인을 모두 사용할 때 작동합니다.

Application.ActiveWorkbook.Worksheets("data").Range("C1", "C20000") = Format(Date, "yyyy-mm-dd")
Application.ActiveWorkbook.Worksheets("data").Range("C1", "C20000").NumberFormat = "yyyy-mm-dd"

언급URL : https://stackoverflow.com/questions/12324190/vba-code-to-set-date-format-for-a-specific-column-as-yyyy-mm-dd