人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

ExcelVBAに関する質問です。

ActiveSheet.Copy Before:="○○"

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

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

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

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


よろしくお願いします。

●質問者: ReoReo7
●カテゴリ:コンピュータ ウェブ制作
✍キーワード:コード 名前 表現
○ 状態 :終了
└ 回答数 : 2/2件

▽最新の回答へ

1 ● SALINGER
●35ポイント ベストアンサー

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"

2 ● van-dine
●45ポイント

(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プロパティで変更する必要があります。

◎質問者からの返答

ありがとうございます。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ