- ベストアンサー
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" なにか良い方法がありましたら教えてください!! よろしくお願い致します。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
No1さんの回答の xlApp.cells(1, 1).NumberFormat = "$#,##0;$-#,##0" を xlApp.Columns("A:A").NumberFormatLocal = "\#,##0;\-#,##0" したらどうでしょ
その他の回答 (2)
- yokomaya
- ベストアンサー率40% (147/366)
逆にACCESS知らないんですけどEXCEL党の僕からみると明らかにSelectionが要らないです。
お礼
回答ありがとうございました。m(__)m ちょっと試してみましたが、 今回の件では、 Selectionはあまり問題ではさそうでした。
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 と表示されました。 ビックリしたーという感じです!
補足
回答ありがとうございます。m(_ _)m 参考書などにも、cellsの例は載っているので、多分cells だと上手くいくと思います。 ここがRangeでも上手くいくと良いのですが・・・。 後ほど、上記の文を応用して、試してみようと思います。 上手くいくといいです・・・。
お礼
上手くいきました。 ありがとうございました。m(_ _)m