尝试在VBA中使用此功能无效会产生错误 列包含这样的
Aero 1.0
3/24/2019 2:38:08 PM
3/18/2019 2:30:40 AM
3/17/2019 4:06:46 PM
3/11/2019 12:03:20 AM
3/5/2019 9:11:53 AM
3/4/2019 1:20:56 AM
3/3/2019 3:58:11 PM
2/24/2019 3:43:24 PM
Affleck 1.0
3/24/2019 2:38:19 PM
3/18/2019 2:30:52 AM
3/17/2019 4:06:56 PM
3/11/2019 12:03:31 AM
在excel中有效
=IF(OR(RIGHT(A5,2)="PM",RIGHT(A5,2)="AM"),F4,A5)
我需要放入宏。
这是为了自动化
IF(OR(RIGHT(A5,2)="PM",RIGHT(A5,2)="AM"),F4,A5)
这是我的编码
Sub folderMerge()
Dim fso As FileSystemObject
Set fso = New FileSystemObject
Dim LastRow As Long
Dim oldfolderpath As String
oldfolderpath = "C:\Users\dhason\Desktop\GPLM\master.xlsm"
Dim fol As Folder
Set fol = fso.GetFolder("C:\Users\dhason\Desktop\GPLM\")
Dim Postmeridian, Postmeridian, Platform As String
Postmeridiem = "PM"
Antemeridiem = "AM"
For Each fil In fol.Files
Workbooks.Open fil.Path
For Each ws In Worksheets
ws.Activate
With ActiveSheet
LastRow = .Cells(.Rows.Count, "A").End(xlUp).Row
End With
Range("f4").Value = "Platform"
Range("g4").Value = "Date"
Range("h4").Value = "ODM"
Range("i4").Value = "date value"
Range("i5").Formula = "=datevalue(a5)"
Range("f5").Formula = "=IF(OR(RIGHT((RANGE(A5,2).Value=PM),
(RIGHT(RANGE(A5,2)).VALUE=AM)),F4,A5)"
Range("g5").Formula = "=LEFT(RC[-6],9)" ' second filling
Range("g5", "g" & LastRow).Select
Range("g5").Copy
Range("g5:g" & LastRow).Select
ActiveSheet.Paste
c = InStr(Range("A1").Value, " ") 'third filling
Range("h5").Value = Left(Range("A1"), c)
Range("A6").Select
Selection.End(xlToRight).Select
Selection.End(xlDown).Select
Range(Selection, Selection.End(xlDown)).Select
Range("A2", Range("A2").End(xlDown).End(xlToRight)).Copy
If ThisWorkbook.Worksheets(1).Range("A2").Value = "" Then
ThisWorkbook.Worksheets(1).Range("A2").PasteSpecial xlPasteAll
Else
ThisWorkbook.Worksheets(1).Range("A1").End(xlDown).Offset(1,
0).PasteSpecial xlPasteAll
end If
Next
Next
For Each wb In Workbooks
If wb.Name <> ThisWorkbook.Name Then
wb.Close True
End If
Next
End Sub