• ベストアンサー

エクセルVBA CSVファイル出力について

エクセルVBAでCSVファイル出力マクロを作成しています。 本を参考にして作成したのですが、日付のセルで 2007/7/22 8:29:45と記入させているのが #2007-07-22 08:29:45#と言う形で出力 されてしまいます。 そのまま「2007/7/22 8:29:45」と出力させるには どのようにしたらいいのでしょうか? 出力したデーターを基にアクセスに取り込んでデーター ベースにしようと思っているのですが、「#」がある ため、そのまま、時刻関数で取り込めないもので 困っています。 コードは以下のように書いてあります。 Sub WriteCsv() Dim myTxtFile As String, myFNo As Integer Dim myLastRow As Long, i As Long Dim ShName As String Application.ScreenUpdating = False ShName = ActiveSheet.Name myTxtFile = ActiveWorkbook.Path & "\" & ShName & ".csv" myLastRow = Range("A1").CurrentRegion.Rows.Count myFNo = FreeFile Open myTxtFile For Output As #myFNo For i = 1 To myLastRow Write #myFNo, Cells(i, 1), Cells(i, 2), Cells(i, 3) Next Close #myFNo MsgBox "このシートを元に「" & ShName & ".csv」を作成しました" End Sub 宜しくお願いいたします。

質問者が選んだベストアンサー

  • ベストアンサー
  • bin-chan
  • ベストアンサー率33% (1403/4213)
回答No.1

> Write #myFNo, Cells(i, 1), Cells(i, 2), Cells(i, 3) タイムスタンプの列がどれだかわかりませんので、Cells(i, 1)と仮定して。 Cells(i, 1).Text とするか、 format(Cells(i, 1),"yyyy/m/d hh:mm:ss") としてみてください。

tmgolf
質問者

お礼

返答ありがとうございます~ 説明で、日付セルの場所が説明不足ですみません。 1列で合ってます。 とてもたすかりました。 ありがとうございます~

その他の回答 (1)

  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.2

こんばんは。 基本的なところですが、以下は、かならずプロパティをつけてください。 >Write #myFNo, Cells(i, 1), Cells(i, 2), Cells(i, 3) 日付の表示そのままを出力するなら、 Write #myFNo, Cells(i, 1).Text, Cells(i, 2).Text, Cells(i, 3).Text となります。

tmgolf
質問者

お礼

おお~なるほど そうすればいいのですね。 ありがとうございます~ 助かりました

関連するQ&A