Excel到Word VBA的时间不正确
我有一个宏可以将某些值从excel复制到word文档Excel到Word VBA的时间不正确,vba,excel,ms-word,Vba,Excel,Ms Word,我有一个宏可以将某些值从excel复制到word文档 Sub NoFormatTimePaste(timeValue As String) wdFind.Replacement.Text = "" wdFind.Forward = True wdFind.Wrap = wdFindContinue wdFind.Execute appWd.Selection.Delete appWd.Selection.InsertAfter Format(timeValue, "h:mm AM/PM")
Sub NoFormatTimePaste(timeValue As String)
wdFind.Replacement.Text = ""
wdFind.Forward = True
wdFind.Wrap = wdFindContinue
wdFind.Execute
appWd.Selection.Delete
appWd.Selection.InsertAfter Format(timeValue, "h:mm AM/PM")
End Sub
Dim timeValue As String
timeValue = Cells(Application.ActiveCell.Row, 4).Select
wdFind.Text = "QTIMEQ"
Call NoFormatTimePaste(timeValue)
但是它没有正确地插入时间。
在我的Excel表格中,时间以24小时格式书写,例如10:30、12:00、15:20、17:45。
然而,插入Word文档的每个值都是12:00 AM,而与Excel中写入的时间无关
Excel Value Word Value
10:30 12:00 AM
12:00 12:00 AM
15:20 12:00 AM
17:45 12:00 AM
有人知道为什么会这样吗?因为:FormattimeValue,h:mm AM/PM。它就在你的代码里。从格式字符串中删除AM/PM。但这只会更改时间的格式,而不会更改实际值,如果时间写为17:45,我不希望它打印为12:00 AM,我希望它打印为17:45 PM。如果字符串为17:45,使用格式字符串h:MM AM/PM将导致5:45 PM,所以你可以把AM/PM看作是一个标志,告诉格式以不同的方式显示小时数。也许我误解了你,我希望它是h:mm AM/PM格式,但不希望它改变实际的时间数。无论格式如何,17:45和12:00是完全不同的时间。timeValue=CellsApplication.ActiveCell.Row,4.Value?或timeValue=CellsApplication.ActiveCell.Row,4.Text。