ネットなどで調べていると、dim myRange as range に見られる、int型や、long型でない変数があることに気がつきました。(あと、worksheetとかです。)
これって何でしょうか。なんでも宣言できるのでしょうか?
また、これらをvbaヘルプで見るためのキーワードがあれば教えてください。
オブジェクト変数と呼ばれるものです。
簡単な説明は↓を
VBA基本(これが解ると、他シートや他ブックの参照もできる。)
もっと詳しく知りたい場合はVB6やVBScriptなどを学習されるのが良いかと思います。
@IT:運用 Windows管理者のためのWindows Script Host入門 第2回 WSHスクリプト・コーディングの第1歩 1.スクリプト実行のプロセス
ヘルプに関しては、VBAのヘルプから「range」「worksheet」などで検索すれば出てくると思います。
早速の回答、ありがとうございました。
Integer や Long はデータ型と呼ばれるものです。
それに対して Worksheet, Range, Cells などはオブジェクトと呼ばれるものです。
オブジェクトは、関数とプロパティを持ち、それによってオブジェクトの持つ特徴を制御したり、状態を調べたりします。
例えば、Range というオブジェクトは、Excel では最もよく使用するオブジェクトの一つで、単一もしくは複数のセルに相当します。
Range("A1").Value = 1
とすれば、A1セルに1を設定することになります。
また、セルには式や書式、罫線といった様々な情報が付いています。
Range("A1:B2").Interior.ColorIndex = 3
とすれば、A1:B2 のセルに赤い色が塗られます。
このように、オブジェクトとはそれに関連する情報をひとまとめにした集合体と考えると良いでしょうか。
どんなオブジェクトがあるかは、VBEで F2キーを押すと、左側がオブジェクト(クラス)、右側にそれぞれにどんな属性(プロパティ)があるかが見れます。
ちょっと難しいかもしれませんが、少しEXCEL で VBA のことがわかってきたときに見ると、良いと思います。
エクセルでお仕事は結構有名ですよね。
よく見てみます。
ヘルプでDimの説明を読んでもらうと書いてあると思いますが、IntegerやLongなど一般的に知られている型のほかに、オブジェクト型としてアプリケーションが提供するオブジェクトを変数に格納することができます。
Excel VBAの場合は、Excelが提供するオブジェクトとして、RangeやWorksheetといったものがあります。
一覧は「表示」→「オブジェクトブラウザ」でExcelが提供するオブジェクトの一覧を見ることができます。
あとはこのあたりを読んでみるのがよいと思います。
なるほど。でも、簡単なようで肩に力が入るHPですね。ちょっと後で、見てみます。
http://q.hatena.ne.jp/1164636281
range等はオブジェクト変数です。
myRange. と.を打つとメンバが表示されると思います。
それがメソッドやプロパティです。
これらは自分でも作成することができます。
クラスモジュールを追加すると
class1 というものが追加されます。
この名前はなんでもいいですがそうすると
dim a as class1
なんてのもできます。
また、type endtype で囲まれたものを宣言することもできます。
これはユーザ定義型(構造体)です。
Private Type test
lngA As Long
End Type
使うときは
Dim b As test
b.lngA = 5
こんな感じになります。
自分で好きに作れるものなのかどうか知りたかったのです。ありがとうございます。
オブジェクト変数と呼ばれるものです。
簡単な説明は↓を
VBA基本(これが解ると、他シートや他ブックの参照もできる。)
もっと詳しく知りたい場合はVB6やVBScriptなどを学習されるのが良いかと思います。
@IT:運用 Windows管理者のためのWindows Script Host入門 第2回 WSHスクリプト・コーディングの第1歩 1.スクリプト実行のプロセス
ヘルプに関しては、VBAのヘルプから「range」「worksheet」などで検索すれば出てくると思います。
ipexxonさんのエクセルでお仕事のHP大変参考になりました。ピンポイントで誘導ありがとうございました。
ipexxonさんのエクセルでお仕事のHP大変参考になりました。ピンポイントで誘導ありがとうございました。