Excel VBAに関する質問掲示板です。
Excel VBA 質問スレッド No.740 (解決済)
For Each
投稿者 : ぽぽ 投稿日時 : 2022/05/23(Mon) 17:08:36 OS : 未指定 EXCEL : 未指定
VBAのFor Eachの使い方を
超絶バカな私でもわかるように
どなたかご説明していただけないでしょうか?
VBAのFor Eachの使い方を
超絶バカな私でもわかるように
どなたかご説明していただけないでしょうか?
[返信 1] Re : For Each
投稿者 : さんこう 投稿日時 : 2022/05/23(Mon) 17:16:07
WEBサイトの解説動画でも見てはいかがでしょうか。
https://www.google.com/search?q=vba+for+each+%E5%88%9D%E5%BF%83%E8%80%85+%E5%8B%95%E7%94%BB
WEBサイトの解説動画でも見てはいかがでしょうか。
https://www.google.com/search?q=vba+for+each+%E5%88%9D%E5%BF%83%E8%80%85+%E5%8B%95%E7%94%BB
[返信 2] Re : For Each
投稿者 : てらてら 投稿日時 : 2022/05/23(Mon) 19:37:44
こんにちは。
For Eachは、簡単に言うと繰り返し処理の一種です。
なので、For文やWhile文などで書き表すこともできます。
For Eachでは、繰り返すものがオブジェクトとその集合体であるコレクションのときに使います。
オブジェクトとは、簡単に言うとExcelの場合はシートとか、セルなどExcelの部品だったりします。
コレクションは、そのオブジェクトの配列みないなものです。
書き方としては、
こんな感じ。
Inの後にブック内のワークシートの集合体を指定して、
Eachの後のワークシートオブジェクトに1個づつ入っていきます。
ちなみにFor文で書くと、
iはカウント用の変数で、1から、ワークシートの数分繰り返すので、
Forの中では、何番目のワークシートなのかを指定しています。
両者の違いは、ざっくりとですが、
For Each ws In Worksheets は、次、次、次、、、で最後まで行ったら終わり。
For i = 1 To Worksheets.Countは、カウント数を決めてから、1,2,3、、、でカウント数まで。
という感じです。
もちろんループ内の書き方も違ってきます。
個人的は、For文の方が万能だと思っています。
こんにちは。
For Eachは、簡単に言うと繰り返し処理の一種です。
なので、For文やWhile文などで書き表すこともできます。
For Eachでは、繰り返すものがオブジェクトとその集合体であるコレクションのときに使います。
オブジェクトとは、簡単に言うとExcelの場合はシートとか、セルなどExcelの部品だったりします。
コレクションは、そのオブジェクトの配列みないなものです。
書き方としては、
Sub ForEachTest()
Dim ws As Worksheet
For Each ws In Worksheets 'ws=オブジェクト Worksheets=コレクション
MsgBox ws.name 'シート名を表示
Next ws
End Sub
こんな感じ。
Inの後にブック内のワークシートの集合体を指定して、
Eachの後のワークシートオブジェクトに1個づつ入っていきます。
ちなみにFor文で書くと、
Sub ForTest()
Dim i As Long
For i = 1 To Worksheets.Count
MsgBox Worksheets(i).name
Next i
End Sub
iはカウント用の変数で、1から、ワークシートの数分繰り返すので、
Forの中では、何番目のワークシートなのかを指定しています。
両者の違いは、ざっくりとですが、
For Each ws In Worksheets は、次、次、次、、、で最後まで行ったら終わり。
For i = 1 To Worksheets.Countは、カウント数を決めてから、1,2,3、、、でカウント数まで。
という感じです。
もちろんループ内の書き方も違ってきます。
個人的は、For文の方が万能だと思っています。
[返信 3] Re : For Each
投稿者 : ぽぽ 投稿日時 : 2022/05/24(Tue) 13:34:26
■[返信 1] さんこうさん(2022-05-23 17:16:07)の記事
> WEBサイトの解説動画でも見てはいかがでしょうか。
>
> https://www.google.com/search?q=vba+for+each+%E5%88%9D%E5%BF%83%E8%80%85+%E5%8B%95%E7%94%BB
>
さんこう様
ご返信ありがとうございました(´;ω;`)
■[返信 1] さんこうさん(2022-05-23 17:16:07)の記事
> WEBサイトの解説動画でも見てはいかがでしょうか。
>
> https://www.google.com/search?q=vba+for+each+%E5%88%9D%E5%BF%83%E8%80%85+%E5%8B%95%E7%94%BB
>
さんこう様
ご返信ありがとうございました(´;ω;`)
当掲示板について
- Excel VBA に関する掲示板です。Excel VBA に関する質問や疑問、それに対する解決方法など気軽に投稿してください。
- 記事内ではHTMLのタグは使用できません。
- 記事は一度投稿すると修正できません。内容を訂正したい場合は返信で対応してください。
- Sub〜End Sub、Function〜End Function は自動的にプログラムコードとみなし、枠で囲って見やすくします。
- Excel VBA とは関係ないことや、他人が不快に思うようなことなど、管理人が適当でないと判断した記事は削除する場合があります。
返信入力フォーム
( 処理日時 : 2022-07-07 13:13:10 )