アプリ版:「スタンプのみでお礼する」機能のリリースについて

・Sheet1(コード)
Private Sub CommandButton1_Click()
Call aaa
End Sub

・Module1(コード)
Sub aaa()
Dim wb As Workbook
Dim ws As Worksheet

Workbooks.Open ("c:\test.xls")
Set wb = Workbooks("test.xls")
Set ws = wb.Worksheets("Sheet1")

wb.ws.Range("A2").Value = "CCC"

End Sub



wb.ws.Range("A2").Value = "CCC"の部分で
以下の実行エラーが出ます。

------------------------------------------------------------------------
実行時エラー'438':
オブジェクトは、このプロパティまたはメソッドをサポートしていません。
------------------------------------------------------------------------

Set wb = Workbooks("test.xls")
Set ws = wb.Worksheets("Sheet1")
の部分で特にエラーも出ないので、オブジェクトの取得は成功していると
思うのですが、WorkSheetオブジェクトのwsからRangeメソッドを呼ぶことが
できません。
動かない原因と対策を教えてください!!

A 回答 (1件)

理由はワークブックの記述がかぶっているからです。


rangeの前のwb.はいりません。
    • good
    • 0
この回答へのお礼

動作しました!!!

wsはwbからとってきているわけだから、もうどのブックかは
特定されているんですね。
というか、そもそもオブジェクトの使い方が間違っているというか。。

とてもうれしいです!ありがとうございます!

お礼日時:2012/04/05 22:45

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!