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

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

このQ&Aに関連する最新のQ&A

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に関連する人気のQ&A

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

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

QFIRE FOX ツールバーの新しいタブボタン消失

FIRE FOXの ツールバーの 新しいタブボタンが 消失しました。
ツールバーのカスタマイズ画面にも 在りません。
何処へ行ってしまったのでしょう。

(注)タブバーの 新しいタブボタンでは ありません。御間違えなく。

Aベストアンサー

意外と気づかない人が居るかもしれませんね。
ツールバーのカスタマイズを開くとタブバーの一番右端に「+」というのが表示されます。
この「+」をツールバーのカスタマイズのウインドウにドラッグ&ドロップします。
そうすると、ツールバーのカスタマイズのウインドウに「新しいタブ」というボタンが出現しますので、これをナビゲーションツールバーへ再度ドラッグ&ドロップします。
これでナビゲーションツールバーに「新しいタブ」を追加することができます。

Qfortranでの出力書式設定

ご質問させていただきます。
たとえばfortranで

a=1d0,b=2d0
write(*,*)a,b

と書くと数字の左側に必ず空白文字が出力させるのですが、
この空白文字をなくすことはできるのでしょうか?

Aベストアンサー

書き出しの書式を指定していないので、おそらく正負(+-)の符号分と2つの数値の区切り分だと思います。
出力させたい数値の桁数が明らかであれば、format文を使って定義すれば空白を出さない様に設定する事が可能でしょう。
ただ、私はPCでのfortranの経験は無く、汎用機でプリンターへの出力していた頃のものですので使えない場合もあるかもしれません。

Q●タブブラウザソフト「 sleipnir 」で上のツールバーの表示がおかしくなってしまった。

タブブラウザソフト「sleipnir」を利用しております。

ツールバーの表示がおかしくなり、ネットを見ている際「前の画面に戻る」際のボタンなどの含まれたツールバーが消えてしまいました。

現在残っているツールバーは、アドレス入力のボックスと、検索用のボックスのみです。

左右に「>>」のような記号がありますので、操作自体はそこにカーソルを合わせればできるのですが、ツールバーが復活しません。(><)

ツールバーの復活方法の手順をお教えくださいませ。m( _ _ )m

Aベストアンサー

単に隠れているだけでは?

「>>」の横にある縦に点が並んだ所(カーソルが「←→」になる所)をドラッグ&ドロップで好きな場所に移動する。
点がない場合はツールバー上で右クリック→ツールバーの固定を解除する。

QエクセルのVBAでタブ区切りのテキスを出力したい。

エクセルのVBAでテキスト出力をしたいのですが、

・タブ区切りで保存
・A列の最終行×1行目の最終列の範囲指定が対象
・範囲内の空欄もタブ区切りにする(最終列には必ず数値あり)
・出力テキストはシートと同じフォルダ内へ格納
・テキストファイル名はシート名

という感じにしたいのです。
いろいろ検索はしているのですが、これといった回答やサンプルは
見つかっておりません(><)

ちなみに、私は、自動記録をしたものを改良して少し使えるレベルです。
よろしくお願いします。

Aベストアンサー

Sub Macro1()
Dim FileName As String
Dim LastRow As Long
Dim LastCol As Long

'FileName = 現在アクティブなBOOKのパス + "\" + 現在アクティブなシート名 + ".Txt"
FileName = Application.ThisWorkbook.Path & "\" & ActiveSheet.Name & ".Txt"

'A列65536行目から[Ctrl]+[↑]で移動した先の行
'IV列1行目から[Ctrl]+[←]で移動した先の列
LastRow = Range("A65536").End(xlUp).Row
LastCol = Range("IV1").End(xlToLeft).Column

'範囲を指定してコピー
Range(Cells(1, 1), Cells(LastRow, LastCol)).Copy

'BOOKを新規作成して ペースト
Workbooks.Add
ActiveSheet.Paste

'既にファイルが存在する場合、アラートが出るのでOFF
Application.DisplayAlerts = False

'現在アクティブなBOOK(新規BOOK)を
'Tab区切りTEXT形式で、名前をつけて保存
ActiveWorkbook.SaveAs FileName:=FileName, FileFormat:=xlText

'新規に作ったBOOK を閉じる
ActiveWindow.Close saveChanges:=False

'アラート非表示を解除
Application.DisplayAlerts = True
End Sub

Sub Macro1()
Dim FileName As String
Dim LastRow As Long
Dim LastCol As Long

'FileName = 現在アクティブなBOOKのパス + "\" + 現在アクティブなシート名 + ".Txt"
FileName = Application.ThisWorkbook.Path & "\" & ActiveSheet.Name & ".Txt"

'A列65536行目から[Ctrl]+[↑]で移動した先の行
'IV列1行目から[Ctrl]+[←]で移動した先の列
LastRow = Range("A65536").End(xlUp).Row
LastCol = Range("IV1").End(xlToLeft).Column

'...続きを読む

Qgoogleツールバーが使えるタブブラウザ教えてください。

現在unDonutというタブブラウザを使っていますが
googleツールバーが使えないみたいなので変えようと思っています。

こちらの過去ログで調べてFireFox とLunascapeでは使える
様ですがその他googleツールバーが使える
タブブラウザがあったら教えて下さい。     

googleツールバーが使える物の中で一番使い易いものを
選ぶつもりです。

ネットサーフィンをしていてページランクが見たいだけ
なのでなんでもいいのですが一応全部知りたいのです。

ご回答よろしくお願いします。

Aベストアンサー

lite777さんの調べた通り、利用できるのは

FireFox  Lunascape IE7

です。
ページランクだけの利用であれば問題思いますが
lunaはツールバーのフル機能は使えず、一部機能が動作しません。

QVBAでタブ区切りファイルを列区切りにしたい

VBAで秀丸のテキストファイルをエクセルに読み込むとき、タブ区切りがエクセルでは連続した文字列になってしまいます。
これを列に区切って読み込みたいのですがどうしたらいいですか?

読み込むプログラムは、「Excelでお仕事!」のサンプルを使ったもので、ファイルを開く画面から選択する形です。コードは下記です。

' Applicationオブジェクト取得
Set xlAPP = Application ' (1)
' 「ファイルを開く」のフォームでファイル名の指定を受ける
xlAPP.StatusBar = "読み込むファイル名を指定して下さい。"
strFILENAME = xlAPP.GetOpenFilename(FileFilter:=cnsFILTER, _
Title:=cnsTITLE) ' (2)
' キャンセルされた場合は以降の処理は行なわない
If StrConv(strFILENAME, vbUpperCase) = "FALSE" Then Exit Sub ' (3)

' FreeFile値の取得(以降この値で入出力する)
intFF = FreeFile ' (4)
' 指定ファイルをOPEN(入力モード)
Open strFILENAME For Input As #intFF ' (5)

VBAで秀丸のテキストファイルをエクセルに読み込むとき、タブ区切りがエクセルでは連続した文字列になってしまいます。
これを列に区切って読み込みたいのですがどうしたらいいですか?

読み込むプログラムは、「Excelでお仕事!」のサンプルを使ったもので、ファイルを開く画面から選択する形です。コードは下記です。

' Applicationオブジェクト取得
Set xlAPP = Application ' (1)
' 「ファイルを開く」のフォームでファイル名の指定を受ける...続きを読む

Aベストアンサー

Sub の上に
Option Base 1
を追加。

Dim v
を宣言して

' 行を加算しA列にレコード内容を表示(先頭は2行目)
v = Split(strREC, vbTab)
GYO = GYO + 1
Cells(GYO, 1).Resize(, UBound(v) + 1).Value = v
に変更

ではどうでしょうか?

Qエクセルのツールバーとシートタブを隠す!

エクセルのツールバーを「フォント」と「フォントサイズ」だけ残して、シートタブも隠したいのですが、VBAでできますか?

※ 特定のファイルが開かれたときのみ実行させたい(その他は、ユーザーのカスタマイズ通り)
※ Openイベントで実行
※ エクセル97、2000に対応(作成は97)

ツールバーを消してしまうVBAは、結構見つけたのですが、どうもうまく行きません。どなたか宜しくお願いします。

Aベストアンサー

シートタブを隠すのは、ActiveWindow.DisplayWorkbookTabs = False

こんなことしか考えつきませんでした。
表示→ツールバー→ユーザー設定でツールバータブを選択して新規作成し名前を付けます。
次にコマンドタブを選んで編集をクリック。フォントとフォントサイズを新しく作成したツールバーにドラッグ&ドロップします。これをツールバーの位置(上)にドラッグ&ドロップします。
後はこのツールバー以外を非表示にします。(フォントのみのツールバーを作ったわけです)

今、どのようなツールバーが規定値か分かりませんので消したいツールバーはマクロの記録を使いコードの書き方は分かると思います。

書く場所は、ThisWorkbookに下のような感じです。
Private Sub Workbook_Open()
  ActiveWindow.DisplayWorkbookTabs = False
  :
  :
End Sub

ブックを閉じる時は元に戻したほうがいいでしょう。(ThisWorkbook)
Private Sub Workbook_BeforeClose(Cancel As Boolean)
  ActiveWindow.DisplayWorkbookTabs = True
  :
  :
End Sub

シートタブを隠すのは、ActiveWindow.DisplayWorkbookTabs = False

こんなことしか考えつきませんでした。
表示→ツールバー→ユーザー設定でツールバータブを選択して新規作成し名前を付けます。
次にコマンドタブを選んで編集をクリック。フォントとフォントサイズを新しく作成したツールバーにドラッグ&ドロップします。これをツールバーの位置(上)にドラッグ&ドロップします。
後はこのツールバー以外を非表示にします。(フォントのみのツールバーを作ったわけです)

今、どのようなツールバーが...続きを読む

Q「,」区切りのcsvファイルを検索して文字列抽出したい

環境:windows2000
csvファイル形式:
pat,\path1\path2,\path\path3
pat_a,\path4\path5,\path7\path8
pat_a,\path7\path6,\path8\path9
バッチファイルに引数%A%を渡してcsvファイルを検索します。
検索文字列は引数%A%です。一行目に検索しようとする文字列があると
それを%%Jにset してあげます。最後に渡された引数とセットされた文字列が同じであればOKです。
自分で考えたのですがなかなかうまくいきません。
みなさまのご教授おねがいします。
FOR /F "tokens=1 delims=," %%l in ('findstr /R "%1" rrr.csv') do set palam=%%l
echo "渡された引数 [%1] "
echo "セットされた文字列 [%palam%] "
if "%palam%" NEQ "%1" (
goto :erro_end
)
引数は「pat」を渡したのですがセットされた文字列が「pat_a」
になってしまうんです。

環境:windows2000
csvファイル形式:
pat,\path1\path2,\path\path3
pat_a,\path4\path5,\path7\path8
pat_a,\path7\path6,\path8\path9
バッチファイルに引数%A%を渡してcsvファイルを検索します。
検索文字列は引数%A%です。一行目に検索しようとする文字列があると
それを%%Jにset してあげます。最後に渡された引数とセットされた文字列が同じであればOKです。
自分で考えたのですがなかなかうまくいきません。
みなさまのご教授おねがいします。
FOR /F "tokens=1 delims=," %%l in ('findstr /...続きを読む

Aベストアンサー

カンマをつけてうまくいく理由は、

FOR /F "tokens=1 delims=," %%l in ('findstr /R "^%1," rrr.csv') do set palam=%%l

が処理されるとき、まず
findstr /R "^%1," rrr.csv
の部分が処理されるからです。この時点ではまだカンマでは区切られず、

pat,\path1\path2,\path\path3
pat_a,\path4\path5,\path7\path8
pat_a,\path7\path6,\path8\path9

が findstr にそのまま渡されます。したがって、pat だけで検索すると、pat も pat_a も該当してしまいます。

しかしCSVファイルなので、最初の項目の次には必ずカンマが来ることを利用して、 pat, で検索すると、1行目だけが該当します。

この結果が FOR 文の中で展開され、

FOR /F "tokens=1 delims=," %%l in ("pat,\path1\path2,\path\path3") do set palam=%%l

のようになり、ここではじめて delims=, が効いてカンマで区切られ、palam に pat が代入されます。

カンマをつけてうまくいく理由は、

FOR /F "tokens=1 delims=," %%l in ('findstr /R "^%1," rrr.csv') do set palam=%%l

が処理されるとき、まず
findstr /R "^%1," rrr.csv
の部分が処理されるからです。この時点ではまだカンマでは区切られず、

pat,\path1\path2,\path\path3
pat_a,\path4\path5,\path7\path8
pat_a,\path7\path6,\path8\path9

が findstr にそのまま渡されます。したがって、pat だけで検索すると、pat も pat_a も該当してしまいます。

しかしCSVファイルなので、最初の...続きを読む

QGoogleツールバーの使えるタブブラウザ

Googleツールバーのように、検索の候補が表示され、タブが使用できるブラウザはありますでしょうか?

IE6を使っていましたが、10個ほど起動すると非常に重くなるため、IE7のタブブラウザを導入してみましたが、あまり軽くなりませんでした。またIE7はカスタマイズ性が無くなったのも残念でした。

便利さ・セキュリティ面など、比較するところはたくさんありますが、とりあえずタブ・検索候補表示(Googleツールバー以外でも構いません)ができるブラウザがありましたら、教えていただけると助かります。

Aベストアンサー

Firefoxに拡張機能のTab Mix Plusを導入して、プラグインの検索エンジン(Google,Yahoo,Gooなどがデフォルトで同梱)を入れたら良いのではないですか。

但し、FirefoxはActiveXコントロールのインストールが必要なサイトでは用が足せません。
その分、セキュリティ上は優位ですが。
(Firefox)
http://www.mozilla-japan.org/products/firefox/

(Tab Mix Plus)
https://addons.mozilla.org/en-US/firefox/addon/1122
(検索エンジン)
http://www.mozilla-japan.org/addons/firefox/search-engines/

QASP,net,cgi,javascript,php等の技術

ASP,net,cgi,javascript,php等の技術で、Webアプリケーションを開発するに当って
どれで作成したほうがいいですか?

機能としては、顧客管理、掲示板、グラフ表示、データベースアクセス等の機能を使います。

それぞれの言語で作成するあたって、長所と短所を頂けると幸いです。

Aベストアンサー

・ASP
確かに古いですが、まだASPで動いているサイトはけっこうあると思います。性能面はCGIよりはいいのではないでしょうか。
IISでしか動作しないのが欠点です。

・.net
よく知りません。確かに古いASPよりはASP.netの方がいいかもしれ
ません。最近少しみかけるようになりました。
拡張子 aspx のサイトはこの作りですね。

・cgi
効率が悪いのでやめた方がいいと思います。ただ、いまだに一番
よく使われていると思います。自身でサーバが管理できないプロ
バイダのサーバにおくような場合はこれ以外の選択肢はないかも
しれません。

・javascript
通常はクライアント側で使う言語ですが、サーバ側で使うことも
あり得ます。たとえば、ASPでは、VBScriptの代わりにJavaScript
を使うこともできます。使って何のメリットがあるかは、よくわかり
ません。たとえば、ASPではVBScriptを使った方が動作は早いと
思います。

・PHP
よく知りません。

・あとはサーブレット・JSPも候補にあげた方がいいですね。
特に欠点もなく、無難に何でもこなせると思います。

・ASP
確かに古いですが、まだASPで動いているサイトはけっこうあると思います。性能面はCGIよりはいいのではないでしょうか。
IISでしか動作しないのが欠点です。

・.net
よく知りません。確かに古いASPよりはASP.netの方がいいかもしれ
ません。最近少しみかけるようになりました。
拡張子 aspx のサイトはこの作りですね。

・cgi
効率が悪いのでやめた方がいいと思います。ただ、いまだに一番
よく使われていると思います。自身でサーバが管理できないプロ
バイダのサーバにおくよう...続きを読む


人気Q&Aランキング

おすすめ情報