- ベストアンサー
エクセル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 宜しくお願いいたします。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
> 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") としてみてください。
その他の回答 (1)
- Wendy02
- ベストアンサー率57% (3570/6232)
こんばんは。 基本的なところですが、以下は、かならずプロパティをつけてください。 >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 となります。
お礼
おお~なるほど そうすればいいのですね。 ありがとうございます~ 助かりました
お礼
返答ありがとうございます~ 説明で、日付セルの場所が説明不足ですみません。 1列で合ってます。 とてもたすかりました。 ありがとうございます~