ここから本文です

VBAの質問です。 Range("A1").Value="VBA" Worksheets.Add Before:=Worksheets("...

nui********さん

2006/9/921:35:15

VBAの質問です。
Range("A1").Value="VBA"
Worksheets.Add Before:=Worksheets("Sheet1")
Valueプロパティは、=なのに、
Addメソッドは:=

メソッドとプロパティの違いでしょうか?
でも、Worksheets("Sheet1").Name="TEST"
Nameメソッドは=です。
なぜでしょうか?
メソッド+引数の場合は、:=になるのでしょうか?

閲覧数:
3,661
回答数:
3

違反報告

ベストアンサーに選ばれた回答

sun********さん

2006/9/1023:43:16

Range("A1").Value="VBA"
これはValueプロパティに"VBA"という値を代入しています。
プロパティは変数と同じように扱えるので「=」で値を設定します。

Worksheets.Add Before:=Worksheets("Sheet1")
この中の「Before:=」はAddメソッドの引数Beforeに「Worksheets("Sheet1")」を指定している事を意味しています。
「:=」は『名前付き引数』といって、引数の位置ではなく引数の名前でその値を指定する時に使うものです。。
Addメソッドの構文は↓のようになっているので
expression.Add(Before, After, Count, Type)
名前付き引数を使わずに
Worksheets.Add Worksheets("Sheet1")
と記述する事もできます。
『名前付き引数』はメソッドだけでなく、プロシージャー(FunctionとSub)でも使用できます。

ちなみにNameはメソッドではなくプロパティです。
一度ヘルプをご覧になって上に出てくる用語について確認する事をお勧めします。

このQ&Aで解決しましたか?質問する

閉じる

ベストアンサー以外の回答

1〜2件/2件中

並び替え:回答日時の
新しい順
|古い順

kur********さん

2006/9/1007:26:20

:=は、関数の引数を意味します。
Value、Nameも、共にプロパティです。
メソッドの後ろに、"="は、付けません。
メソッドでは、結果の取得時に、代入(=)するのみです。
object.Add item, key, before, after
この場合、引数を順番に指定すれば、
Worksheets.Add の後ろには、":="が必要ありませんが、
beforeのみの指定の場合は、パラメーターの位置を、明示する必要があるので、Before:=Worksheets("Sheet1")
のように、パラメーター名:=
として、指定する必要がある。

lit********さん

2006/9/922:49:10

=は代入です。
:=はaddやbeforeに対する代入ではなく、beforeに対する指示なので

みんなで作る知恵袋 悩みや疑問、なんでも気軽にきいちゃおう!

Q&Aをキーワードで検索:

Yahoo! JAPANは、回答に記載された内容の信ぴょう性、正確性を保証しておりません。
お客様自身の責任と判断で、ご利用ください。
本文はここまでです このページの先頭へ

「追加する」ボタンを押してください。

閉じる

※知恵コレクションに追加された質問は選択されたID/ニックネームのMy知恵袋で確認できます。

不適切な投稿でないことを報告しました。

閉じる