gpt4 book ai didi

vba - 如何将字符串格式化为日期 - Microsoft Project 导出到 Excel?

转载 作者:行者123 更新时间:2023-12-03 02:56:56 34 4
gpt4 key购买 nike

我正在从 Microsoft Project 导出 Excel 工作表,并尝试将该导出的工作表导入到 Excel 中的现有工作表中。

它工作正常,但是,即使我选择 ,也有一些字符串日期表示形式(存储为 m/d/yy hh:mm AM/PM)格式不正确>在 Excel 的 GUI 中设置单元格格式并尝试将其设置为日期格式。琴弦不会改变。

我能做什么?我可以在导入子中放置代码吗?是否有更好的方法通过 Project 导出以便日期格式正确?

这是我当前用于导入工作表的子程序(通过项目保存):

Sub Import_from_Project()
Dim wbSource As Workbook, wbDestination As Workbook
Dim wsSource As Worksheet, wsDestination As Worksheet
Dim DTAddress As String

DTAddress = CreateObject("WScript.Shell").SpecialFolders("Desktop") & Application.PathSeparator

Application.ScreenUpdating = False

Set wbSource = Workbooks.Open(DTAddress & "Import.xlsx")
Set wbDestination = ThisWorkbook

Set wsSource = wbSource.Sheets(1)
Set wsDestination = wbDestination.Sheets(6)

'The range below is the data I'm copying
'Only columns B and C contain the strings that I want to convert to date
With wsSource
.Range(.Range("A2"), .Range("C2").End(xlDown)).Copy wsDestination.Range("A3")
End With

'Pseudocode to loop through strings and convert to dates
'With wsSource
' .Range(.Range("B2"), .Range("C2").End(xlDown)) .FORMAT TO DATE?

wbSource.Close SaveChanges:=False
' wbDestination.Close SaveChanges:=True
Application.ScreenUpdating = True

End Sub

我假设我必须使用 CDATE 函数,但我不确定它如何与上面的伪代码配合:

Format(CDate(stringDateRepresentation), "m/yyyy")

编辑:如果重要的话,我正在使用 Office 2010。

最佳答案

  1. 将列格式设置为日期
  2. 然后使用此代码覆盖单元格。假设 A1 有一个存储为字符串的日期

代码示例

Columns(1).NumberFormat = "m/d/yy hh:mm AM/PM"
Range("A1").Formula = Range("A1").Value

上面是一个例子,对于一列充满值的情况,你必须循环单元格并执行上述操作。

屏幕截图

enter image description here

关于vba - 如何将字符串格式化为日期 - Microsoft Project 导出到 Excel?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14279922/

34 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com