• ベストアンサー

AccessVBAから、Excelシート内の列の書式設定がしたい!!

とうとう朝になってしまいました。 もう丸2日間も悩んでいます。 どなたか解決方法をご存知の方、よろしくお願いいたします。 AccessVBA内のモジュールからExcelファイルを開いて、そこへデータを出力するという処理は動きます。 そこで、出力する前に、Excelのセルの書式設定を列毎にしようとしていますが、どうしても上手くいきません。 下記のような感じでは、使えないのでしょうか? Set xls = GetObject("c:AAA\TEST.xls") xls.Application.Windows(1).Visible = True xls.Application.worksheets("sheet1").Activate xls.Application.worksheets("sheet1").RANGE("A:A").Selection.NumberFormatLocal = "\#,##0;\-#,##0" なにか良い方法がありましたら教えてください!! よろしくお願い致します。

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

  • ベストアンサー
  • wingtodo
  • ベストアンサー率56% (9/16)
回答No.3

No1さんの回答の xlApp.cells(1, 1).NumberFormat = "$#,##0;$-#,##0" を xlApp.Columns("A:A").NumberFormatLocal = "\#,##0;\-#,##0" したらどうでしょ

mamappi82
質問者

お礼

上手くいきました。 ありがとうございました。m(_ _)m

その他の回答 (2)

  • yokomaya
  • ベストアンサー率40% (147/366)
回答No.2

逆にACCESS知らないんですけどEXCEL党の僕からみると明らかにSelectionが要らないです。

mamappi82
質問者

お礼

回答ありがとうございました。m(__)m ちょっと試してみましたが、 今回の件では、 Selectionはあまり問題ではさそうでした。

noname#22222
noname#22222
回答No.1

Excel は操作したこともないプログラマですが、 なるほど、失敗しますね! Private Sub cmdImport_Click()   Dim xlApp As Object   Dim xlBook As Object      Set xlApp = CreateObject("Excel.Application")   Set xlBook = xlApp.workbooks.Open("D:\Sales2005\営業報告書.xls")   xlApp.Visible = True   xlApp.cells(1, 1) = 123400   xlApp.cells(1, 1).NumberFormat = "$#,##0;$-#,##0" End Sub これで、\123,400 と表示されました。 ビックリしたーという感じです!

mamappi82
質問者

補足

回答ありがとうございます。m(_ _)m 参考書などにも、cellsの例は載っているので、多分cells だと上手くいくと思います。 ここがRangeでも上手くいくと良いのですが・・・。 後ほど、上記の文を応用して、試してみようと思います。 上手くいくといいです・・・。

関連するQ&A