通过按钮运行宏导致美国日期格式

时间:2016-12-12 09:06:38

标签: excel excel-vba vba

我每天早上运行一些代码,将事务数据转换为表格,然后根据该数据创建数据透视表。

我在单独的电子表格中有一个按钮用于运行这些宏,但是当我使用按钮时,代码会以美国格式而不是英国格式化日期。

Sub TUFRFormat()
    Application.DisplayAlerts = False
    Columns("A:Y").Select
    Selection.Columns.AutoFit 'Ensures data is displayed correctly
    Columns("B:B").Select 'Rearanges columns to be presented correctly
    Selection.Cut Destination:=Columns("Z:Z")
    Columns("B:B").Select
    Selection.Delete Shift:=xlToLeft
    Range("F:F,G:G,H:H,I:I,J:J,U:U,V:V,W:W,X:X").Select
    Selection.EntireColumn.Hidden = True 'Hides unrelevant columns
    Range(Selection, Selection.End(xlToRight)).Select
    Range(Selection, Selection.End(xlDown)).Select
    ActiveSheet.ListObjects.Add(xlSrcRange, Range("$A$1:$Y$50000"), , xlYes).Name _
    = "Table1"
    Range("Table1[#All]").Select
    ActiveSheet.ListObjects("Table1").TableStyle = "TableStyleLight9" 'Selects a table theme
    Range("Table1[[#Headers],[Unit]]").Select
    ChDir "P:\Desktop\Prior Day Journals\Tueday - Friday"

' Creates a pivot table based off of the sheet 'Data'
    Sheets.Add After:=Sheets(Sheets.Count)
    Sheets("Sheet1").Select
    Sheets("Sheet1").Name = "Table" 'Adds new sheet and names it table
    Sheets("Table").Select
    Sheets("Table").Move Before:=Sheets(1) 'Moves to the first sheet in the document
    ActiveWorkbook.PivotCaches.Create(SourceType:=xlDatabase, SourceData:= _
    "Table1", Version:=xlPivotTableVersion14).CreatePivotTable TableDestination _
    :="Table!R1C1", TableName:="PivotTable1", DefaultVersion:= _
    xlPivotTableVersion14
    Sheets("Table").Select
    Cells(1, 1).Select
    With ActiveSheet.PivotTables("PivotTable1").PivotFields("Posted")
        .Orientation = xlPageField
        .Position = 1
    End With
    With ActiveSheet.PivotTables("PivotTable1").PivotFields("Date")
        .Orientation = xlPageField
        .Position = 1
    End With
    With ActiveSheet.PivotTables("PivotTable1").PivotFields("Year")
        .Orientation = xlColumnField
        .Position = 1
    End With
    With ActiveSheet.PivotTables("PivotTable1").PivotFields("Period")
        .Orientation = xlColumnField
        .Position = 2
    End With
    With ActiveSheet.PivotTables("PivotTable1").PivotFields("Unit")
        .Orientation = xlRowField
        .Position = 1
    End With
    ActiveSheet.PivotTables("PivotTable1").AddDataField ActiveSheet.PivotTables( _
    "PivotTable1").PivotFields("Sum Amount3"), "Count of Sum Amount3", xlCount

    ActiveSheet.PivotTables("PivotTable1").RowAxisLayout xlOutlineRow

    ActiveSheet.PivotTables("PivotTable1").PivotFields("Posted").CurrentPage = _
    "(All)"
    With ActiveSheet.PivotTables("PivotTable1").PivotFields("Posted")
        .PivotItems("(blank)").Visible = False
    End With
    ActiveSheet.PivotTables("PivotTable1").PivotFields("Posted"). _
    EnableMultiplePageItems = True

我试过寻找一个明显的答案,但是当我直接运行代码而不是通过按钮时,它会将日期格式化为英国格式。

任何帮助将不胜感激

0 个答案:

没有答案