Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Excel到Word VBA的时间不正确_Vba_Excel_Ms Word - Fatal编程技术网

Excel到Word VBA的时间不正确

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")

我有一个宏可以将某些值从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")

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。