
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で質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) 3つのプロシージャをまとめたら実行時エラー発生で対応不能 6 2022/05/17 01:47
- Visual Basic(VBA) VBAでoutlook365が起動しません。 4 2022/08/25 13:31
- Visual Basic(VBA) エクセルのマクロを使ってメールを送る方法について教えてください 2 2022/03/29 01:36
- Visual Basic(VBA) excel2021で実行できないマクロ。どこを直したらいいのか 2 2022/03/28 03:40
- Visual Basic(VBA) Excelで下記のようにマクロを作ったところ、一回目は実行できたのですが、二回目以降「実行時エラー1 1 2022/03/25 08:08
- Visual Basic(VBA) 稀に1円合いません? Sheet1から金額と個数を貼り付ける下記コードで、金額を切り上げるコードを何 3 2022/09/05 15:11
- Visual Basic(VBA) 別シートのデータを参照して値を入れたい。 まとめデータシートのC列D列の値を商品一覧シートのコードが 7 2022/08/17 13:20
- Visual Basic(VBA) Sheet「状況」から、分類の年齢別カウント数をSheet「D表」へ転記する下記マクロを作っています 7 2022/12/14 17:57
- Visual Basic(VBA) EXCELのVBAについて 2 2023/07/05 17:17
- Visual Basic(VBA) VBAコードが作動せず、どこに問題があるのか教えて下さい。 3 2023/06/13 13:20
このQ&Aを見た人はこんなQ&Aも見ています
-
VBA Constの指定シートのセルを指定する方法
Visual Basic(VBA)
-
ブック名、シート名を他のモジュールからも参照可能にする方法
Access(アクセス)
-
エクセルのラベルの値(文字列)を垂直方向で中央揃えにするには?
Excel(エクセル)
-
-
4
VBAでエクセルシートを更新(リフレッシュ)する方法を教えて下さい。
Excel(エクセル)
-
5
ExcelのVBA。public変数の値が消える
Visual Basic(VBA)
-
6
エクセルVBAでシートモジュールでのパブリック変数
Excel(エクセル)
-
7
「Columns(A:C")」の列文字を数字にして表記したい"
Excel(エクセル)
-
8
VBAでブックを非表示で開いて処理して閉じる方法
Excel(エクセル)
-
9
2画面表示でのVBAのボタン押下後のform表示の位置
Excel(エクセル)
-
10
VBAで保存しないで閉じると空のBookが残る
Excel(エクセル)
-
11
VBA public変数はどのようなことをしたら解放されますか?
Visual Basic(VBA)
-
12
ユーザーフォームを表示中にシートの操作をさせるには
Excel(エクセル)
-
13
EXCEL マクロの定数にセルの値を参照できますか
Excel(エクセル)
-
14
数式による空白を無視して最終行を取得するマクロ
Excel(エクセル)
-
15
VBA 変数名に変数を使用したい。
Visual Basic(VBA)
-
16
DoEventsがやはり分からない
Visual Basic(VBA)
-
17
worksheetFunctionクラスのVlookupプロパティを取得できません エラーへの対応
Visual Basic(VBA)
-
18
Excel VBAで、ユーザーフォームの値を、モジュールで使用したい。
Visual Basic(VBA)
-
19
EXCEL VBAで全選択範囲の解除
Excel(エクセル)
-
20
VBA(エクセル)のユーザーフォームの固定
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
getParameter()について
-
servletからjspへオブジェクト...
-
オブジェクト指向プログラミン...
-
Excel VBA 定数にオブジェクト...
-
ArrayListでの要素の取り出し
-
C#でのExcel操作について.(Ran...
-
SendKeysとExecWBの違いは?
-
ASPでデータベースに画像を保存
-
エクセルVBA 画像を貼り付ける...
-
エクセルVBA/SpecialCellsで特...
-
C#のクラスで値渡しをする
-
サーブレットコンテキストの意...
-
C#で親にイベントを投げる方法
-
mkdirsでフォルダが作成されない
-
エクセルVBAで、条件に一致する...
-
private static という変数の修飾
-
「タイプ初期化子が例外をスロ...
-
中学生です。 私は教室の黒板に...
-
0歳児の指しゃぶりに関して
-
javaのクラスの作り方、エラー...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルVBA 画像を貼り付ける...
-
Excel VBA 定数にオブジェクト...
-
VB.netでメソッドからコントロ...
-
サーブレットコンテキストの意...
-
VBAでの[]
-
Vba ListViewの行挿入に関して...
-
C#のクラスで値渡しをする
-
C#で親にイベントを投げる方法
-
VB.NETでのnothing の意義について
-
javaで、、、
-
Javaでブラウザ判定
-
System.Collections.SortedList
-
VB2005でADDとINSERTの違いは?
-
servletからjspへオブジェクト...
-
mkdirsでフォルダが作成されない
-
String型からlong型への変換は...
-
JSPでのArrayListの表示につい...
-
UTF-8のテキストファイルを開く...
-
エクセルVBA/SpecialCellsで特...
-
PrintFormを使用してのプリント
おすすめ情報