[Excel]選択したセルの内容をクリア


XLS(T_T)  2005-04-13 19:13:26  No: 120880

[VB6.0(SP6)/EXCEL2000(SP3)]
こんにちわ。
VBよりEXCELに保存された内容をクリアしたいのですが、
「RangeクラスのSelectメゾットが失敗しました。」という
エラーメッセージが出力されます。

以下ソースです。

    Set objXlsApp = CreateObject("Excel.Application")
    intXLSOpenFLG = gcRET_OK
    Set objXlsBook = objXlsApp.Workbooks.Open("C:\TEST\TEST.xls")
    Set objXlsSht = objXlsBook.Worksheets("Sheet1")
    objXlsSht.Range("A5:I18").Select   ← ここでエラー
    objXlsSht.Selection.ClearContents

    (以下省略)

教えて下さい。
宜しくお願い致します。


魔界の仮面弁士  2005-04-13 20:10:17  No: 120881

>  objXlsSht.Selection.ClearContents
Selectionって、objXlsSht(Sheetオブジェクト)のプロパティではなく、
objXlsApp(Applicationオブジェクト)のプロパティのはずですよ。

それと、何故かSelectしてから、Selectionを操作しておられますが、
データのクリアだけなら、わざわざ選択状態を変更せずとも、
   objXlsSht.Range("A5:I18").ClearContents
の1行で十分ですよ。

Selectionを使った操作というのは、VB6でいえば、
    Form2.Text1.Text = "aa"
というコードを、
    Form2.SetFocus
    Screen.ActiveForm.Text1.SetFocus
    Screen.ActiveControl.Text = "aa"
のような処理にするような意味になりますので、無駄が多いです。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加