SSブログ

エクセル小僧:別のエクセルファイルから文字列をコピーするマクロ【解説編2】 [コンピューター]

別のエクセルファイル(以下、ワークブックと呼ぶ)から、文字列をコピーしてくるマクロのファイル名ボタンのマクロのコード解説 その2を記します。[猫]

ワークシート側の設定については、

http://blog.so-net.ne.jp/cheese999/2012-12-23

を参照して下さい。

マクロのコードについては、

http://cheese999.blog.so-net.ne.jp/2012-12-24
http://cheese999.blog.so-net.ne.jp/2012-12-25

を参照して下さい。

【解説2:シートが存在するか確認する関数】
今回は、ワークブックの中に、指定された名前のシートが存在するか調べる関数について説明します。

01:Function UFShtChk1(mySheet As Variant, Wb1 As Workbook) As Boolean
02:  ' 【機能】シートが存在するか確認
03:  ' 【引数】
04:  ' mySheet : シート名
05:  ' Wb1 : コピー元のエクセルファイル
06:  ' 【変数】
07:  Dim i As Integer ' 整数
08:  ' 【コード】
09:  UFShtChk1 = False
10:  ' シート枚数分、繰り返す
11:  For i = 1 To Wb1.Worksheets.Count
12:    If Wb1.Worksheets(i).Name = mySheet Then
13:      UFShtChk1 = True ' 見つかった!
14:      Exit For
15:    End If
16:  Next
17:End Function

この関数は引数として、Workbook型のWb1と、Variant型のmySheetの2つを受け取ります。11行目から、16行目までをWb1で指定されるワークブックに含まれる全てのシートにつき、1シートずつ調べていきます。

11行目のWb1.Worksheets.Countで、Wb1ワークブックに含まれるシート枚数を調べます。12行目のWb1.Worksheets(i).Nameでiシート目のシートの名前を調べます。Wb1.Worksheets(i).NameとmySheetが同じとき、Wb1ワークブックにmySheetと同じ名前のシートが存在するとして、Trueを返り値にセットして関数を終了します。

mySheetと同じ名前のシートが存在しない場合、9行目でセットしたFalseを返します。

----------------------------------------

久々にU2聞いてました。。

U2- new years day (Lyrics)


I will be with you again.

人は独りでは生きていけないからね。

I... I will begin again.

もう一度、始めようと思う。。。



ヤバイぜ!(4)  コメント(2)  トラックバック(0) 
共通テーマ:日記・雑感

ヤバイぜ! 4

コメント 2

yayu-chang

新年明けましておめでとうございます。
昨年は大変お世話になりました。
皆様のご健康とご多幸を心よりお祈り申し上げます。
本年もよろしくご厚情のほどお願い申し上げます。
by yayu-chang (2013-01-03 23:15) 

cheese999

nice! ありがとうございます。
(^_0)ノ

yayu-changさん、
心温まるお言葉、ありがとうございます。
私にできることなら、なんでも。。。
できることは限られますが。。
(*_*)ノ
by cheese999 (2013-01-04 07:36) 

Facebook コメント

トラックバック 0

トラックバックの受付は締め切りました

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。