[[20171205152627]] 『Excel VBA CSVに書き出す列の指定』(Ryan) ページの最後に飛ぶ

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

 

『Excel VBA CSVに書き出す列の指定』(Ryan)

Excel VBAのCSVの書き出しについて質問です
ActiveSheetのNameに応じて、CSVの書きだす位置をB列 or C列 or D列に
変更したいのですが、Nameに関わらず必ず指定していない先頭のA列に55個書き出されてしまいます。
CSVに書き出しているデータは指定した範囲のデータで間違いありません。
CSVの指定した列に書き出す方法は、現在のプログラムでは不十分なのでしょうか?

下記に、現在使用しているプログラムの一部を添付させていただきます
fileflag の処理は上の方で行っており、fileflagは正しく動作していることが確認済みです。以上よろしくお願いします

    rng = Cells(4 + X_c + Y_c * 10, 200).Address & ":" & Cells(4 + X_c + Y_c * 10 + 55, 200).Address
    'シート名
    sname = ActiveSheet.Name
    '新しいシートを追加し、選択範囲をコピー
    If fileflag = 1 Then
    Worksheets(sname).Range(rng).Copy Destination:=Worksheets.Add.Range("B1")

    ElseIf fileflag = 2 Then
    Worksheets(sname).Range(rng).Copy Destination:=Worksheets.Add.Range("C1")

    ElseIf fileflag = 3 Then
    Worksheets(sname).Range(rng).Copy Destination:=Worksheets.Add.Range("D1")

    Else
    Worksheets(sname).Range(rng).Copy Destination:=Worksheets.Add.Range("Z1")
    End If

< 使用 Excel:Excel2007、使用 OS:Windows7 >


1行目のタイトル部を設定していないので、Excelが全部空欄列は読み飛ばしてくれるようですね(余計なお世話機能)
なので、1行目から貼りつけず、タイトル行として全列なにか入れておくか、または現状のまま出力した後に、A1セルにスペース文字でも代入し、それから保存してみてはいかがでしょうか。
(???) 2017/12/05(火) 15:52

 少々かぶるが
 あいにくCSV形式で保存する場合に先頭列に全く入力されていない場合、その列の出力が省略されてしまうみたいだ。
 回避策の一例として先頭行で先頭列からデータの最終列まで罫線を引いてからCSV保存してみてくれ。
 先頭列が空白でも出力されるようになる。
(ねむねむ) 2017/12/05(火) 15:55

素早い返信ありがとうございます

そんな機能があったんですね。。
無事解決しました

また機会があればよろしくお願いします
(Ryan) 2017/12/05(火) 16:12


 おっと確認不足だった。
 A1セルに罫線を引くだけで十分だった。
(ねむねむ) 2017/12/05(火) 16:29

コメント返信:

[ 一覧(最新更新順) ]


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