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

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

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

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

ループ

ループとは、プログラミングにおいて、条件に合致している間、複数回繰り返し実行される箇所や、その制御構造を指します

Q&A

1回答

515閲覧

Excel VBAの二重ループの記載方法について

naonaokeiyu

総合スコア6

VBA

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

ループ

ループとは、プログラミングにおいて、条件に合致している間、複数回繰り返し実行される箇所や、その制御構造を指します

0グッド

0クリップ

投稿2020/07/29 08:14

Excel VBAの二重ループについて

セルG2~セルT19までの、セルの色をカウントしたいのです。
その色のついたセルのカウント結果を、セルV2~X19まで転記したいのです。

カウントの条件は、

G2~セルT2⇒V2~X2

G3~セルT3⇒V3~X3

G4~セルT4⇒V4~X4



G19~セルT19⇒V19~X19

Sub Macro1()
Dim i As Long
For i = 22 To 24
For j = 2 To 7

Cells(j, i) = 色数(Cells(1, i).Interior.Color)

Next j
Next i
End Sub

Function 色数(A As Long)
Dim i As Long, N As Long, j As Long

j = 2
For i = 7 To 20

If Cells(j, i).Interior.Color = A Then
N = N + 1
j = j + 1
End If

Next i
色数 = N
End Function

このコードを考えたのですが、
結果は、G例、H列・・・・・・T列はカウントするのですが、
横にはカウントされないようです。

どこがおかしいのか、ご教示して、いただけないでしょうか?

お手数ですが、よろしくお願いします。

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

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

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

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

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

guest

回答1

0

ここがおかしいですか?

Cells(j, i) = 色数(Cells(1, i).Interior.Color)

→Cells(j, i) = 色数(Cells(j, i).Interior.Color)

投稿2020/07/29 10:01

mako1972

総合スコア383

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

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

naonaokeiyu

2020/07/30 00:04

→Cells(j, i) = 色数(Cells(j, i).Interior.Color) これにすると全部値が0になります。 Cells(1, i)は色を参照しています。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問