プロが教える店舗&オフィスのセキュリティ対策術

エクセル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

宜しくお願いいたします。

A 回答 (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") としてみてください。
    • good
    • 0
この回答へのお礼

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

お礼日時:2007/07/23 23:52

こんばんは。



基本的なところですが、以下は、かならずプロパティをつけてください。

>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

となります。
    • good
    • 0
この回答へのお礼

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

お礼日時:2007/07/23 23:49

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!