- 締切済み
ACCESSでエクセルの書式設定
ACCESSでエクセルにデータを出力し書式を設定しています。 数字の出力で、マイナスの場合赤字になるようにしたいのですが、上手くいきません。 エクセルの右クリック→セルの書式設定→ 表示形式タブの分類を数値、桁区切りにチェックし、-1,234の赤字 の書式はどのように設定すれば出来るのでしょうか? 現在 ExcelSheet.Cells(行,列).NumberFormat = "#,##0" で設定しています。
- みんなの回答 (3)
- 専門家の回答
みんなの回答
- gatt_mk
- ベストアンサー率29% (356/1220)
>エクセルに書き込むときに、下記の命令で書式を指定しています。 ExcelSheet.Cells(行,列).NumberFormat = "#,##0" その命令は一体どこで指定しているのですか?コマンドボタンでのプロシージャにVBAで記述しているのでしょうか? そうであればそのまま記述してもエクセルの書式を設定することはできません。 ACCESSからExcelへの書式設定をするには、その時点で起動しているExcelインスタンスを指定し、その対象となるExcelシートが固定できて初めてそのシートの指定したセルの書式が設定できるわけです たとえば「ExcelSheet.Cells(行,列).NumberFormat = "#,##0"」と記述したとしても、ACCESSではその「ExcelSheet」が一体どのシートかを判断することはできません。 Excelインスタンスを指定する方法はNo.2の回答にある参考リンクに記載してある通りです。 それが理解できない場合はあきらめたほうがいいです。
- gatt_mk
- ベストアンサー率29% (356/1220)
質問の趣旨がよくわかりません。 ACCESSでTransferSpredsheetで出力したExcelデータに関して自動的に書式設定をしたいということなのでしょうか? その場合はかなりVBAを駆使しないと難しいですが。 AccessからExcelのインスタンスを起動して書式設定をするのはかなり高度な技になりますので、初心者では難しいと思います。 Excelのインスタンスを起動するサンプルは下記サイトなどにあります。 http://www7.big.or.jp/~pinball/discus/access/96661.html どのタイミングで書式設定をしたいのかを記載しないと回答はできないと思います。
補足
現在 アクセスからエクセルにデータ出力を行っています。 エクセルに書き込むときに、下記の命令で書式を指定しています。 ExcelSheet.Cells(行,列).NumberFormat = "#,##0" この指定で、エクセルの書式を マイナス時に赤字に表するように出来ないでしょうか?
- FEX2053
- ベストアンサー率37% (7991/21373)
.NumberFormatは、セルの書式設定文字をそのまま設定します。 こちらが参考になると思いますよ。 http://www.eurus.dti.ne.jp/~yoneyama/Excel/user_set.htm
補足
モジュールでVBAを組み込んでいます。 エクセルシートへの値の出力や書換え等は出来ています。 とりあえずカンマ付きの書式までは、記載の通りで出来ました。 ただマイナスの場合でも黒文字になってしまうので、マイナスの場合のみ赤にする書式設定を行いたいのですが・・・