2011/09/09 blogデザイン変更

VBAの覚書#022007/01/06 18:00

VBAの覚書#02です。ようやく第二回目です。ほんとに続けて行けるのだろうか・・・。
 Excelでよく使うのはきっとデータやセルのコピーだと思います。別のシートや別のブックからのデータコピーをまずやっておいてそれからそのデータを加工したり集計したりすることが多いと思います。ここでExcelをあまり使わないかたはきっと「ブックってなに」と感じたことと思います。KJの周りでもあまりExcelを使用しない人はExcelファイルそのものをシートと呼ぶ人がいて、ひとつのExcelファイルの中のそれぞれのシートについて説明するのに困ることがあります。これよりもわかりにくいのが、ブックです。これはファイルそのものをブックと呼ぶってことで(とりあえずは)いいと思います。これからさらにExcelを知っていくともっと上手な説明ができるかもしれません。あるいはこの説明が間違っているかもしれませんが、「Excel」「ブックとは」でググッてヒットしたWebサイトの情報からおそらくこれで問題ないと思います。はっきりせんかい!という方は自分で調べてください。

 VBAでのコピーの方法はひとつだけではありません。まずExcelで普通にセルを選択して張り付ける操作をマクロで記録すると次のようになります。
---------------
Sub Macro1()
'
' Macro1 Macro
' マクロ記録日 : 2007/1/1 ユーザー名 : kj
'

'
Range("B30:B36").Select
Selection.Copy
Range("C30").Select
ActiveSheet.Paste
End Sub
---------------
細かい説明は省きますが、この中で実際の「コピー⇒貼り付け」動作の部分は次の部分です。
----------
Range("B30:B36").Select
Selection.Copy
Range("C30").Select
ActiveSheet.Paste
----------
 これは、B30~B36のセルを範囲指定、このセルをコピー、C30セルを選択して貼り付けるという動作になります。この方法ではセルの書式(表示形式や罫線)なども一緒にコピーしてくれます。文字通りセルのコピーですね。でもこのセルのコピーにもさらにいろいろな方法があります。ほかのWebサイト(「Shun's Page」 http://t_shun.at.infoseek.co.jp/My_Page/Excel-VBA/vba_page13.htm)はクリップボード経由でコピーする方法として5つ、クリップボードを経由しない方法として3つ挙げられています。まだKJにはそれぞれの違いを正確に説明することはできません。しかしクリップボードを使用する方法と使用しない方法ってこれはわかります。ここでいうクリップボードとはWindowsのクリップボードのことです。上記のMacro1はクリップボードを経由して貼り付けを行うので、クリップボードにそのデータが残っています。このマクロを実行した直後に別のセルを選択して貼り付けをするとそのデータが貼り付けされます。
 しかしクリップボードを経由しない方法があればきっとその方が動作は速いはずだと思いませんか?
---------------
Sub copy02()
Range("B30:B36").Copy Destination:=Range("C30")
Application.CutCopyMode = False
End Sub
---------------
↑先ほど紹介したサイトの情報を利用してこのようにすればクリップボードを経由せずにコピー⇒貼り付けできます。やはり動きはシンプルなほうが動作は速くなります。

 まあ細かいことはおいておくとして、同じデータやセルのコピーをする場合でもいくつかの方法があるということですね。必要に応じてその中で選んで使えばいいのでしょうが、正直に言ってKJはそれぞれの詳細がよくわかりせん。とりあえず、ひとつづつ勉強しながら覚えて言って使える範囲を徐々に広げて以降と思っています。

 ご飯の用意ができたようなの#02はココまでです。さて次回(#03)はいつになることやら。
 先日もマクロで頭が真っ白になったKJでした。

コメント

コメントをどうぞ

※メールアドレスとURLの入力は必須ではありません。 入力されたメールアドレスは記事に反映されず、ブログの管理者のみが参照できます。

※なお、送られたコメントはブログの管理者が確認するまで公開されません。

名前:
メールアドレス:
URL:
コメント:

トラックバック

このエントリのトラックバックURL: http://kjiki.asablo.jp/blog/2007/01/06/1096600/tb

※なお、送られたトラックバックはブログの管理者が確認するまで公開されません。

更新時刻: