教えてください。
今、VB(VBA)でExcelを操作するプログラムを作成しています。
で、列単位で書式を変更する方法で困っています。
Excelのマクロ記録を使用して下記のプログラムが自動作成されました。
**************************************************
Columns("B:C").Select
Selection.NumberFormatLocal = "yyyy/m/d h:mm"
**************************************************
このプログラムをVBに移植すると、
エラーメッセージで
「オブジェクトは、このプロパティメソッドをサポートしていません。」
って表示されます。
列の選択まで出来ているので書式設定で落ちていると思うのですが・・・。
申し訳ありません、誰か教えてください。よろしくお願いします。
VBでエクセルを操作するのですか?
それともエクセルのVBAでの話しですか?
そのままペーストしてませんか?
自動作成されるソースは省略されていることが多いのでそのままVBコピーするのは止めたほうがいいと思います。
一応下記のようにしたらVBAからは操作できたのでVBで試してみて下さい。
xlSheetはExcelのWorksheetオブジェクトです。
xlSheet.Columns("B:C").select
xlSheet.Columns("B:C").NumberFormatLocal ="yyyy/m/d h:dd"
すーさん、nanashiさん、さっそくのお答えありがとうございました。
nanashiさんの助言通り設定したら無事変更できました。
ちなみに今回はvbでExcelを操作するプログラムを作成していました。
私の記述してプログラムは、
xlSheet.Columns("B:C").select
xlSheet.Selection.NumberFormatLocal ="yyyy/m/d h:dd"
と、記述してました。
結果から考えるとVB側には「Selection」って考えが無いってことになりますね・・・。
とても助かりました。本当にありがとうございました。
ツイート | ![]() |