こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

VBA 実行時エラーで、"プロパティまたはメソッド

・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メソッドを呼ぶことが
できません。
動かない原因と対策を教えてください!!

投稿日時 - 2012-04-05 21:31:49

QNo.7404767

困ってます

質問者が選んだベストアンサー

理由はワークブックの記述がかぶっているからです。
rangeの前のwb.はいりません。

投稿日時 - 2012-04-05 21:52:09

お礼

動作しました!!!

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

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

投稿日時 - 2012-04-05 22:45:23

ANo.1

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(1)

あなたにオススメの質問