
Excel VBA 定数にオブジェクトを指定したい
いつもお世話になりますm(__)m
Excel VBAで、定数としてオブジェクトの指定はできないのでしょうか?
例えば、WorkSheets("Sheet1")を定数「Srt1」として設定したいのですが、
Public Const Srt1 As Object = Worksheets("Sheet1")
としても「定数のデータ型が不正です」とエラーがでます。
例えば、セルに値をセットする時に
Worksheets("Sheet1").Range("A1").Value="あああ"
Worksheets("Sheet1").Range("A2").Value="いいい"
Worksheets("Sheet1").Range("A3").Value="ううう"
と書きますが、これを
Srt1.Range("A1").Value="あああ"
Srt1.Range("A2").Value="いいい"
Srt1.Range("A3").Value="ううう"
と書ければプログラムも見やすく、書きやすくなると思いました。
プログラムの最初に
Dim Srt1 As Object
Set Srt1 = Worksheets("Sheet1")
とすれば使えるのですが、複数のシート名をまずは定数として登録したいと思っていますが、オブジェクト(ワークシート名)は定数として登録することは出来ないのでしょうか?
お詳しいかた、是非ともご教授お願い致しますm(__)m
A 回答 (4件)
- 最新から表示
- 回答順に表示
No.4
- 回答日時:
プロパティにするとか。
Property Get Srt1() As Worksheet
Set Srt1 = Worksheets("Sheet1")
End Property
No.2
- 回答日時:
一番最初に
Public Srt1 As Object
として定義して(クラス変数って言うんでしょうか?)
各メソッドで
Set Srt1 = Worksheets("Sheet1")
という方法ではどうでしょう?
こうすればそのメソッドだけじゃなくてクラス全体で使えると思います。
Option Explicit
Public Srt1 As Object
Private Sub メソッド名()
Set Srt1 = Worksheets("Sheet1")
処理
End Sub
No.1
- 回答日時:
できません。
オブジェクト型は定数にできません。
インスタンス化が必要だからです。
つまり、インスタンスを作り出すと言う
実行行為により、始めて有効になるような
ものを静的に定義できないということです。
「インスタンス化」が分からない場合は
別途、ご質問ください。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
VBA Constの指定シートのセルを指定する方法
Visual Basic(VBA)
-
ブック名、シート名を他のモジュールからも参照可能にする方法
Access(アクセス)
-
エクセルのラベルの値(文字列)を垂直方向で中央揃えにするには?
Excel(エクセル)
-
-
4
VBAでエクセルシートを更新(リフレッシュ)する方法を教えて下さい。
Excel(エクセル)
-
5
ExcelのVBA。public変数の値が消える
Visual Basic(VBA)
-
6
worksheetFunctionクラスのVlookupプロパティを取得できません エラーへの対応
Visual Basic(VBA)
-
7
エクセルVBAでシートモジュールでのパブリック変数
Excel(エクセル)
-
8
VBA エンターキーでイベントに入りたい。
PowerPoint(パワーポイント)
-
9
「Columns(A:C")」の列文字を数字にして表記したい"
Excel(エクセル)
-
10
DoEventsがやはり分からない
Visual Basic(VBA)
-
11
2画面表示でのVBAのボタン押下後のform表示の位置
Excel(エクセル)
-
12
VBAで保存しないで閉じると空のBookが残る
Excel(エクセル)
-
13
VBA public変数はどのようなことをしたら解放されますか?
Visual Basic(VBA)
-
14
ユーザーフォームを表示中にシートの操作をさせるには
Excel(エクセル)
-
15
EXCEL マクロの定数にセルの値を参照できますか
Excel(エクセル)
-
16
【Excel VBA】 WorksheetやRangeオブジェクトとして宣言した変数の開放は必要でしょうか?
その他(Microsoft Office)
-
17
VBAでブックを非表示で開いて処理して閉じる方法
Excel(エクセル)
-
18
EXCEL VBAで全選択範囲の解除
Excel(エクセル)
-
19
ListView 項目の選択/選択解除について
Visual Basic(VBA)
-
20
WorkBooksをオープンさせずにシートにコピーしたい【EXCEL VBA】
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルVBA 画像を貼り付ける...
-
Excel VBA 定数にオブジェクト...
-
VB.netでメソッドからコントロ...
-
servletからjspへオブジェクト...
-
サーブレットコンテキストの意...
-
VB2005でADDとINSERTの違いは?
-
String型からlong型への変換は...
-
C#のクラスで値渡しをする
-
VB.NETでのnothing の意義について
-
ピクチャーボックスに点を打つ...
-
JSPでのArrayListの表示につい...
-
VBAでの[]
-
Objectクラスのオブジェクトを...
-
System.Collections.SortedList
-
Dispose()は、どんな時に使うの...
-
C#で親にイベントを投げる方法
-
[ASP.NET]DropDownListのDB連携...
-
MessageBox.Show(Me,…の「Me」...
-
SocketでXMLオブジェクトを送信...
-
変数名の付け方
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
servletからjspへオブジェクト...
-
サーブレットコンテキストの意...
-
エクセルVBA 画像を貼り付ける...
-
Excel VBA 定数にオブジェクト...
-
VB.netでメソッドからコントロ...
-
VBAでの[]
-
System.Collections.SortedList
-
JSPでのArrayListの表示につい...
-
C#で親にイベントを投げる方法
-
C#のクラスで値渡しをする
-
VB.NETでのnothing の意義について
-
Vba ListViewの行挿入に関して...
-
String型からlong型への変換は...
-
javaで、、、
-
MessageBox.Show(Me,…の「Me」...
-
getParameter()について
-
ピクチャーボックスに点を打つ...
-
VB2005でADDとINSERTの違いは?
-
singletonクラスとは???
-
LiveConnectって?
おすすめ情報