重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

【GOLF me!】初月無料お試し

ACCESSでエクセルにデータを出力し書式を設定しています。
数字の出力で、マイナスの場合赤字になるようにしたいのですが、上手くいきません。
エクセルの右クリック→セルの書式設定→ 表示形式タブの分類を数値、桁区切りにチェックし、-1,234の赤字
の書式はどのように設定すれば出来るのでしょうか?

現在
ExcelSheet.Cells(行,列).NumberFormat = "#,##0"
で設定しています。

A 回答 (3件)

>エクセルに書き込むときに、下記の命令で書式を指定しています。


ExcelSheet.Cells(行,列).NumberFormat = "#,##0"

その命令は一体どこで指定しているのですか?コマンドボタンでのプロシージャにVBAで記述しているのでしょうか?
そうであればそのまま記述してもエクセルの書式を設定することはできません。

ACCESSからExcelへの書式設定をするには、その時点で起動しているExcelインスタンスを指定し、その対象となるExcelシートが固定できて初めてそのシートの指定したセルの書式が設定できるわけです
たとえば「ExcelSheet.Cells(行,列).NumberFormat = "#,##0"」と記述したとしても、ACCESSではその「ExcelSheet」が一体どのシートかを判断することはできません。

Excelインスタンスを指定する方法はNo.2の回答にある参考リンクに記載してある通りです。
それが理解できない場合はあきらめたほうがいいです。

この回答への補足

モジュールでVBAを組み込んでいます。
エクセルシートへの値の出力や書換え等は出来ています。
とりあえずカンマ付きの書式までは、記載の通りで出来ました。

ただマイナスの場合でも黒文字になってしまうので、マイナスの場合のみ赤にする書式設定を行いたいのですが・・・

補足日時:2009/05/26 10:09
    • good
    • 0

質問の趣旨がよくわかりません。


ACCESSでTransferSpredsheetで出力したExcelデータに関して自動的に書式設定をしたいということなのでしょうか?

その場合はかなりVBAを駆使しないと難しいですが。
AccessからExcelのインスタンスを起動して書式設定をするのはかなり高度な技になりますので、初心者では難しいと思います。
Excelのインスタンスを起動するサンプルは下記サイトなどにあります。
http://www7.big.or.jp/~pinball/discus/access/966 …

どのタイミングで書式設定をしたいのかを記載しないと回答はできないと思います。

この回答への補足

現在 アクセスからエクセルにデータ出力を行っています。
エクセルに書き込むときに、下記の命令で書式を指定しています。
ExcelSheet.Cells(行,列).NumberFormat = "#,##0"

この指定で、エクセルの書式を マイナス時に赤字に表するように出来ないでしょうか?

補足日時:2009/05/18 11:18
    • good
    • 0

.NumberFormatは、セルの書式設定文字をそのまま設定します。


こちらが参考になると思いますよ。
http://www.eurus.dti.ne.jp/~yoneyama/Excel/user_ …
    • good
    • 0

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