[[20221025160504]] 『CSV出力のブランクについて』(minoru) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『CSV出力のブランクについて』(minoru)

お世話になります
csvシートの値をcsv出力するため,
本サイトより検索した下記のコードを使用しており、見た目はきれいにcsv出力されます。

質問
 csvシート上ではブランクのセルが、csv出力するとブランクではなくなります。 ブランクの状態でcsv出力するにはどこを修正すればよろしいでしょうか? csvシートでは =cell("type",a1) 戻り値が b ですが 出力したcsvファイルは l になります。
または、違うコードでも結構ですので、よろしくお願いします。

Sub Sample()

    Application.ScreenUpdating = False
    Dim outputFile As String
    Dim myPath As String
    Dim c As Range
    Dim i As Long

    i = Worksheets("csv").Cells(Rows.Count, 1).End(xlUp).Row  
    outputFile = Worksheets("受付").Range("i8")
    myPath = ThisWorkbook.Path

    Sheets("csv").Copy    
    Columns("T:XFD").ClearContents  'クリア
    Rows("1:1").Delete Shift:=xlUp  '1行目削除
    myPath = ThisWorkbook.Path

        For Each c In Range("A1:S1")
        If c.Value = Empty Then c.Value = vbTab & c.Value
    Next
    Application.DisplayAlerts = False 
    ActiveWorkbook.SaveAs Filename:=myPath & outputFile _
        , FileFormat:=xlCSV, CreateBackup:=False
    ActiveWorkbook.Close savechanges:=False  
    Application.DisplayAlerts = True  

     End Sub

< 使用 Excel:Office365、使用 OS:Windows10 >


 If c.Value = Empty Then c.Value = vbTab & c.Value
 としているから、ですね。
 タブ文字が文字列扱い(正常)されているのだから、整合的です。
 つまり、やったように結果が出ているだけですが?
  
(γ) 2022/10/25(火) 16:33:20

γ 様
早速のご返答ありがとうございます
If c.Value = Empty Then c.Value = vbTab & c.Value

If c.Value = Empty Then c.Value = c.Value

これに修正して無事に取り込むことができました、ありがとうございました。
(minoru) 2022/10/25(火) 18:25:32


>If c.Value = Empty Then c.Value = c.Value

これって意味あるの。
(不気味) 2022/10/25(火) 19:51:07


コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.