设置为“常规”的“日期”应设置为“日期”

时间:2019-04-22 18:19:39

标签: excel vba

我的VBA脚本正常工作,但是,我不明白为什么在应将“ C”列中的日期保留为“日期”的情况下将其设置并更改为“常规”的原因。如果我的日期未作为日期显示在Sheet2上,则“ E”列上的公式将不会显示“未付天数”,因为工作表应显示公式。

下面的VBA脚本:

Sub deleteRowswithSelectedText4()

Dim lr As Long
Dim i As Long
Dim szRange As String
Dim rng As Range

lr = Cells(Rows.Count, 1).End(xlUp).Row

    For i = lr - 1 To 2 Step -1
        If Cells(i, "B") = "LLC" Then
            Cells(i, "B").EntireRow.Delete
        End If
    Next i


szRange = "A118:D300"

             Worksheet("Sheet1").Range("A16:B300,J16:J300,R16:R300").Copy_ 
             Destination:=Worksheets("Sheet2").Range("A118:D300")


Worksheets("Sheet2").Range("C118:C300").NumberFormat = "m/d/yy"


End Sub

2 个答案:

答案 0 :(得分:0)

复制方法获取文本格式

U可以使用.value2(谁不更改格式)

.value2也比复制快得多

 With Worksheet("Sheet2")
    .Range("A16:B300").value2 = Worksheet("Sheet1").Range("A118:B300").value2
    .Range("J16:J300").valu2 = Worksheet("Sheet1").Range("C118:C300").value2
    .Range("R16:R300") = Worksheet("Sheet1").Range("D118:D300").value2
 End With

答案 1 :(得分:0)

当日期以字符串形式出现时,一种快速解决方法是使用TextToColumns,类似于:

Columns("A").TextToColumns DataType:=xlDelimited, TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=False, Semicolon:=False, Comma:=False, Space:=False, Other:=False

这通常会将日期设置为您的本地(计算机)设置。