質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
VBA

VBAはオブジェクト指向プログラミング言語のひとつで、マクロを作成によりExcelなどのOffice業務を自動化することができます。

マクロ

定義された処理手続きに応じて、どのような一連の処理を行うのかを特定させるルールをマクロと呼びます。

Q&A

解決済

1回答

541閲覧

Sheetオブジェクトは存在しない?

dagiri

総合スコア4

VBA

VBAはオブジェクト指向プログラミング言語のひとつで、マクロを作成によりExcelなどのOffice業務を自動化することができます。

マクロ

定義された処理手続きに応じて、どのような一連の処理を行うのかを特定させるルールをマクロと呼びます。

0グッド

0クリップ

投稿2020/12/13 20:04

編集2020/12/13 22:49

VBAマクロで、For Each In Next を使用した時、

変数を固有オブジェクトSheetで定義しようとして、「ユーザー定義型が設定されていない」、
とエラーダイアログが出ました。

オブジェクトブラウザーで確認しても、Sheetというオブジェクトは存在しませんでしたが、
あるネット記事では、「SheetsプロパティはSheetオブジェクトを返す」と紹介されていました。

VBA において、Sheetオブジェクトは存在しないということで良いのでしょうか?

また、繰り返しの処理におけるSheetsプロパティの解釈としては、Sheetsコレクション内で、それぞれオブジェクトを変更しながら動作が行われる、ということで合ってますでしょうか?

[Example]
Sheet1,Graph1,Sheet2,Graph2 とある場合。
―――――――――――――――――――
Dim i As Integer
For i = 1 To 4
Sheets(i).Name = "Sheet" & i
Next i
―――――――――――――――――――
というコードにおけるオブジェクトは、
Worksheets(1)→Charts(1)→Worksheets(2)→Charts(2)
という順番で処理されるということで合ってますでしょうか?

学習途中で、至らぬ点ばかりでして恐縮でございますが、ご教示お願い致します。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

m.ts10806

2020/12/13 20:35

コード全体ないと何とも言えません。
meg_

2020/12/14 01:34 編集

勘違いしていたのでコメント削除します。すみません。
guest

回答1

0

ベストアンサー

「あるネット記事」へのリンクがないのでどう書かれていたかは定かではありませんが、公式マニュアルを参照すればよくわかるでしょう。

まずブックオブジェクト(Workbook)のプロパティにワークシートコレクション(Worksheets)があります。
https://docs.microsoft.com/ja-jp/office/vba/api/excel.workbook.worksheets

説明にはこうあります。

指定したブックのすべてのワークシートを表すSheets コレクションを返します。 読み取り専用のSheetsオブジェクトです。

次にSheetsコレクションを参照します。
https://docs.microsoft.com/ja-jp/office/vba/api/excel.sheets

説明はこうです。

Sheets コレクションには、 Chart オブジェクトまたは Worksheet オブジェクトを含めることができます。

というわけでSheetオブジェクトを返すとは書かれていません。
Worksheetが正しいです。

というコードにおけるオブジェクトは、
Worksheets(1)→Charts(1)→Worksheets(2)→Charts(2)
という順番で処理されるということで合ってますでしょうか?

合っています。
以下のようにシート名を表示してみれば一目瞭然と思います。

VBA

1For i = 1 To 4 2 Debug.Print Sheets(i).Name 3Next

投稿2020/12/14 00:38

ttyp03

総合スコア17000

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

dagiri

2020/12/15 05:40

ありがとうございます! 今後、公式マニュアルとの照らし合わせもしていこうと思います。 該当記事へのリンクはあえて控えさせていただきました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問