首页 > 解决方案 > “日期”设置为一般,应设置为 DATES

问题描述

我的 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

标签: excelvba

解决方案


复制方法获取文本的格式

你可以使用 .value2 (谁不改变格式)

.value2 也比 Copy 快得多

 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

推荐阅读