我的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
答案 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
这通常会将日期设置为您的本地(计算机)设置。