2

Microsoft Project から Excel ワークシートをエクスポートし、エクスポートしたワークシートを Excel の既存のワークシートにインポートしようとしています。

正しく機能していますが、Excel の GUI でm/d/yy hh:mm AM/PM選択して日付としてフォーマットしようとしても、正しくフォーマットされない文字列の日付表現 (として保存) があります。Format Cells弦はほとんど変わりません。

私に何ができる?インポートサブに配置できるコードはありますか? 日付が既に正しくフォーマットされているように、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 を使用しています。

4

1 に答える 1

3
  1. 列を日付としてフォーマットします
  2. 次に、このコードを使用してセルを上書きします。A1文字列として保存されている日付があると仮定します

コード例

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

上記は例です。値でいっぱいの列の場合、セルをループして上記の操作を実行する必要があります。

ScreenShot

ここに画像の説明を入力してください

于 2013-01-11T14:18:55.683 に答える