• ベストアンサー

エクセルVBAでCSV出力する際、リンク0を空白に

エクセル2019使用 シート名 「フォーマット」 「シート1」 「フォーマット」に入力されているデータを 「シート1」のセルB4:T100(行数は「フォーマット」データ量でその都度変わります) に =フォーマット!A63 のようにリンクさせております。 「シート1」をCSVで出力したところリンク元が空白のため「0」と表示されてしまいます。 詳細設定の「ゼロ値のを表示する」をオフにしてもだめでした。 関数で空白なら空白でもだめでした。 リンク元空白の状態で「シート1」のセルB4:T100をCSV出力。 「シート1」ではリンク元空白を空白にする方法はありますでしょうか。

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

  • ベストアンサー
  • kon555
  • ベストアンサー率52% (1745/3344)
回答No.1

ちょっと良く分からないので確認させてもらいたいのですが 「フォーマット」のデータが空白かつ「シート1」にリンクが設定されている状態でcsvにすると、csvデータでは「0」が出てしまう。この「0」を何もデータがない状態にしたい。 という事でよろしいですか? この前提で回答します。 こちらの環境で確認したところ、if関数で「""」で埋めてやるとcsv化した時にも何もデータがない状態になるようです。 シート1にデータが存在するかどうかは下記のような方法なり何なりで調べるとして、空白でないならリンク。空白なら「""」としてやれば、多分お望みの結果になると思いますが如何でしょうか。 http://excel.pc-technique.jp/check/isblank.html

nightquest
質問者

お礼

ありがとうございます! 今まで使っていましたが全然知りませんでした。 これできれいになりました。 他のデータも全てこれに置き換えられます。 本当にありがとうございました。

関連するQ&A

  • Excelマクロ 空白セルを無視してCSV出力

    Excelのマクロについて質問します。 <sheet1>の内容をCSVに出力するマクロを使用しているのですが、 問題があって困っています。 <seet1>のA1~K30までは数式が入っていて、<sheet2>のA1~A30に 「OK」と表示されている場合、<sheet1>の対応した行に数値が表示されます。 「OK」以外の場合は、空白になるようにしてあります。 【sheet1】   A    B    C    D    E … 1 100  200  300  400  500 2 100  200  300  400  500 3 100  200  300  400  500 4 100  200  300  400  500 5 6 【sheet2】   A 1 OK 2 OK 3 OK 4 OK 5 6 <sheet1>をマクロでCSV出力する際に、「空白だけど数式が入っているセル」を 除外する方法を教えてください。 現在は「空白だけど数式が入っているセル」もCSV出力されてしまい、「,」が 連続で表示されるので、手動で「,」を削除しています。 ■今使用しているマクロは以下になるので、これに追記する形で改良できないでしょうか。 Sub CSV出力() Dim FileN As String FileN = Application.GetSaveAsFilename( _ InitialFileName:="book1.csv", _ FileFilter:="CSV ファイル (*.csv), *.csv") Sheets("sheet1").Copy ActiveWorkbook.SaveAs Filename:=FileN, FileFormat:=xlCSV ActiveWorkbook.Close Savechanges:=False End Sub よろしくお願いします。

  • CSV出力に関して

    パソコンで「CSV出力が完了しました」と表示が出ているのに、データがどこにも反映されていません。 CSV出力した内容を、Excelのシートに移したいのですが、どのような手順で行えば良いのでしょうか?

  • 【Excel】 csvの作成時、空白セルにもカンマ

    こんにちは A列のA10まで、に値が入ります。 B列は、B1=IF(A1="","",A1) として、B10までフィルしました。 A1からA5までに1、2、3、4、5と入力し、A6からA10は空白にします。 B1からB5までは、1、2、3、4、5が表示され、 B6からB10までは空白です。 このSheetを、csvで保存し、テキストで開きますと 1,1 2,2 3,3 4,4 5,5 , , , , , , となります。 この、6行から10行の「,」がないcsvを出力したいのですが、 元のSheetの式はどうしたらよいでしょうか。 Excel2007です。 宜しくお願いします。

  • VBAマクロでCSV出力

    はじめまして、よろしくお願いします。 ExcelのVBAマクロで 特定のセルの範囲を「シート名.csv」で出力するようなプログラムを書きたいです。 例)シート名「TEST」内にあるマクロボタンを押すと  A1:A10のセルの内容が「TEST.csv」(アスキー形式ならなんでも)  に出力される。 どういうやり方があるか、お勧めのサイト等、 ご教授いただけないでしょうか? 以上、よろしくお願いいたします。

  • CSVをエクセルの指定の位置に

    CSV出力したデータをエクセルで読み取るときに エクセルの指定のセルに指定の項目が入るようにしたいのですがどうすればいいのでしょうか? CSVデータをそのまま読み込むと項目が並んで表示されてしまいます。 エクセルで作ったフォーマットにCSVデータを反映させて印刷したいのです。

  • Excelのcsv保存について

    別ブックのデータを参照して、csvで保存するためのブックを作ったのですが、参照のための関数が入力されているセルもcsvにnullで出力されてしまいます。 参照元.xls  A B C D E 1 あ い う え お 2 か き く け こ 3 さ し す せ そ 4 5 csv出力用.xls A1~E5には作業の都合上、 =IF([参照元.xls]Sheet1!A1="","",[参照元.xls]Sheet1!A1) のような関数を入れて参照しています。  A B C D E 1 あ い う え お 2 か き く け こ 3 さ し す せ そ 4 5 これをcsvで保存すると、 あ,い,う,え,お か,き,く,け,こ さ,し,す,せ,そ ,,,, ,,,, と、データは未入力だけど関数が入っている部分まで保存されてしまいます。 これを、 あ,い,う,え,お か,き,く,け,こ さ,し,す,せ,そ ここまでで保存できるような方法、 もしくは関数などはありませんでしょうか。 csv出力用のブックでは一括半角置換や全角置換、 誤入力されたハイフンやスペースの削除などをおこなっているので、 できればこの参照形式は崩したくありません。 わかるかたいらっしゃいましたらアドバイスをお願いします。

  • エクセルのシートリンクについて

    初心者です。教えて下さい。シートA、シートBがあります。Aにデータが入っています。Aのデータの一部を色々なセルから抜いてBに表示したいのです。しかもリンク(Aを変えるとBも変わる)するようにしたいのですが・・・。Bのセルに「=シートAのセル」と入れると表示されますが、たくさんあるのでコピーしたところ、Aとリンクしません。教えて下さい。

  • Excel  リンク貼り付け

    エクセルで別のシートにリンク貼り付けをしてリンクさせているのですが、セルが空白のところはリンク先シートでは”0”と表示されてしまいます。”0”が表示されなくなる方法はないでしょうか。 なお、リンクが有効な状態にしておきたいので、対処することによって リンクしなくなるのはダメです。 よろしくお願いします。

  • EXCELで空白行にのみ、データをリンクさせたいです

    EXCELで質問です。 シート1の表に入力したデータを、シート2の表の空白行にだけ、 上から順に自動的にリンクさせていくことは可能でしょうか? シート1とシート2の表のフォーマットは同じです。 シート1とシート2に、同時期に別のデータを入力していくのですが、 シート1の一部抽出したデータだけをシート2にリンクさせたいのですが。。。 回答よろしくお願いいたします。

  • エクセルVBAで複数CSVを抽出、ブックへの出力

    エクセルVBAで複数のCSVファイルからファイル名と 任意のセル8箇所を自作した計算シートに抽出。 別ブックにCSVファイル名 計算結果4種類を出力する。 というvbaを作りたいのですがどうすればよいでしょうか? CSVファイルが1700ほどあり、大変困っています。 申し訳ありませんがご教授願います。 ーーーーーーーーーーーーーーーーーーーーーーーーーーー 詳細 CSV読み込みセル8箇所:B2、D2、F2~P2 自作計算シートへの貼り付け箇所:G3~G10 計算結果セル抽出箇所:C8~F4 出力の理想系は CSVファイル名、計算結果1、2、3、 4の順で file01 ○○ ○○ ○○ ○○ file02 ○○ ○○ ○○ ○○ ・・・ ・・ のようになれば大変嬉しいです。 お力をお貸しください よろしくお願いいたします。

専門家に質問してみよう