Excelで列単位に書式を設定するには?

解決


だっち  2003-04-28 16:13:28  No: 106964  IP: [192.*.*.*]

教えてください。

今、VB(VBA)でExcelを操作するプログラムを作成しています。

で、列単位で書式を変更する方法で困っています。

Excelのマクロ記録を使用して下記のプログラムが自動作成されました。
**************************************************
    Columns("B:C").Select
    Selection.NumberFormatLocal = "yyyy/m/d h:mm"
**************************************************
このプログラムをVBに移植すると、
エラーメッセージで
「オブジェクトは、このプロパティメソッドをサポートしていません。」
って表示されます。

列の選択まで出来ているので書式設定で落ちていると思うのですが・・・。

申し訳ありません、誰か教えてください。よろしくお願いします。

編集 削除
すーさん  2003-04-28 17:00:13  No: 106965  IP: [192.*.*.*]

VBでエクセルを操作するのですか?
それともエクセルのVBAでの話しですか?

編集 削除
nanashi  2003-04-28 17:06:21  No: 106966  IP: [192.*.*.*]

そのままペーストしてませんか?
自動作成されるソースは省略されていることが多いのでそのままVBコピーするのは止めたほうがいいと思います。

一応下記のようにしたらVBAからは操作できたのでVBで試してみて下さい。
xlSheetはExcelのWorksheetオブジェクトです。

    xlSheet.Columns("B:C").select
    xlSheet.Columns("B:C").NumberFormatLocal ="yyyy/m/d h:dd"

編集 削除
だっち  2003-04-28 17:33:33  No: 106967  IP: [192.*.*.*]

すーさん、nanashiさん、さっそくのお答えありがとうございました。

nanashiさんの助言通り設定したら無事変更できました。

ちなみに今回はvbでExcelを操作するプログラムを作成していました。
私の記述してプログラムは、

xlSheet.Columns("B:C").select
xlSheet.Selection.NumberFormatLocal ="yyyy/m/d h:dd"

と、記述してました。
結果から考えるとVB側には「Selection」って考えが無いってことになりますね・・・。

とても助かりました。本当にありがとうございました。

編集 削除