所以我正在尝试将日期格式设置为yyyymm(例如201808)。但是,它总是以(20188)的形式出现。在具有两位数的月份(例如12月)上,没有问题。它将在201812年发布。但是,这种情况几个月都没有发生,只有一位数字。在我的代码中,月份和年份最初位于两个单独的列中,但是我将它们合并在一起。这是我的代码:
Sheets("Sheet1").Select
Columns("G:G").Select
Selection.NumberFormat = "00"
Columns("I:I").Select
Selection.Insert Shift:=xlToRight, CopyOrigin:=xlFormatFromLeftOrAbove
Range("I2").Select
ActiveCell.FormulaR1C1 = "=CONCATENATE(RC[-1],RC[-2])"
Selection.AutoFill Destination:=Range("I2:I800")
Range("I2:I800").Select
Columns("I:I").Select
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Application.CutCopyMode = False
Columns("G:H").Select
Selection.Delete Shift:=xlToLeft
正如我刚录制宏一样,可能有更简单的方法来编写此代码。
答案 0 :(得分:1)
数字格式<>实际数字。
您需要使用TEXT()
来实际更改存储的值:
With Worksheets("Sheet1").Range("I2:I800")
.FormulaR1C1 = "=RC[-1] & TEXT(RC[-2],""00"")"
.Value = .Value
End With
Worksheets("Sheet1").Columns("G:H").Delete