ExcelVBAに関する質問です。


ActiveSheet.Copy Before:="○○"

というコードがありますが、

1)
Before:="○○" というような、追加の表現のことを何と呼びますか?

2)
同時に名前をつけることはできますか?

また、名前をつけられない場合、名前の変更はどうしたら良いでしょう?


よろしくお願いします。

回答の条件
  • 1人2回まで
  • 登録:2008/11/07 21:53:50
  • 終了:2008/11/08 02:02:12

ベストアンサー

id:SALINGER No.1

SALINGER回答回数3454ベストアンサー獲得回数9692008/11/07 22:17:54

ポイント35pt

1)手元の本を見てみると名前付き引数とよんでるようですね。

検索してみると、その名前を使ってるところが多いです。

http://officetanaka.net/excel/vba/file/file02.htm


2)2つの引数しか持たないので、名前は同時に変更できません。

expression.Copy(Before, After)

http://msdn.microsoft.com/ja-jp/library/cc328018.aspx


シートを挿入するとアクティブになるので、次のコードで名前をつけれます。

    ActiveSheet.Copy before:=Worksheets("Sheet1")
    ActiveSheet.Name = "hogehoge"

その他の回答(1件)

id:SALINGER No.1

SALINGER回答回数3454ベストアンサー獲得回数9692008/11/07 22:17:54ここでベストアンサー

ポイント35pt

1)手元の本を見てみると名前付き引数とよんでるようですね。

検索してみると、その名前を使ってるところが多いです。

http://officetanaka.net/excel/vba/file/file02.htm


2)2つの引数しか持たないので、名前は同時に変更できません。

expression.Copy(Before, After)

http://msdn.microsoft.com/ja-jp/library/cc328018.aspx


シートを挿入するとアクティブになるので、次のコードで名前をつけれます。

    ActiveSheet.Copy before:=Worksheets("Sheet1")
    ActiveSheet.Name = "hogehoge"
id:van-dine No.2

van-dine回答回数108ベストアンサー獲得回数112008/11/07 22:44:17

ポイント45pt

(1)名前付き引数です。

たとえば、

Function Triangle(H As Double, W As Double)
  Triangle = H * W / 2
End Function

MsgBox Triangle(3.6, 4.8) '通常の方法
MsgBox Triangle(H := 3.6, W := 4.8) '名前付き引数の方法(1)
MsgBox Triangle(W := 4.8, H := 3.6) '名前付き引数の方法(2)

とした時、どれも同じ回答が得られます。

この例だと、あまり意味がないように見えますが、Worksheet.PrintOutメソッドなど、

引数がイヤほどある関数(プロシージャ)ほど効果があります。

(2)Copyメソッドではタイトルをつけられないので、

Nameプロパティで変更する必要があります。

id:ReoReo7

ありがとうございます。

2008/11/07 23:26:37

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません