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

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

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

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

Q&A

解決済

1回答

1716閲覧

VBAで行が違う繰り返し処理を実行したい

kenji.oka

総合スコア2

VBA

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

0グッド

1クリップ

投稿2020/08/20 10:07

編集2020/08/20 14:20

VBAで「リンゴとみかんの合計を求める」繰り返し処理を実行したいのですが画像Aのように「行が同じ」ならわかるのですが
画像Bのように「行」が違う場合の繰り返し処理のコードがわからないので教えていただきたいです。
画像Aはイメージ説明

画像Bはイメージ説明

です。

画像Aに対しては画像C のようにコードを記述しました。
イメージ説明
リンゴとみかんという名称は特に決まっていません。
データの行数は決まっていませんがリンゴ15行みかん15行と仮定していただけたらと思います。

宜しくお願い致します。

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

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

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

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

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

YT0014

2020/08/20 10:20

同一行の場合のコードを、その旨を記載して、ご提示ください。 その際は、質問を編集して、コードマークダウンにて追記してください。
dodox86

2020/08/20 10:22

> 画像Aのように「行が同じ」ならわかるのですが その、行が同じ場合でのVBAコードをご提示ください。話はそこからだと思います。 それとも現状ではVBAコードではなくセルに関数や計算式を入れて求めているのでしょうか。
meg_

2020/08/20 11:15

”りんご”と”みかん”という名称は決まっているのですか? かつそれぞれのデータの行数は同じと決まっているのでしょうか? その辺りの詳しい条件を質問に追記してください。
meg_

2020/08/20 15:56

> データの行数は決まっていませんがリンゴ15行みかん15行と仮定していただけたらと思います。 行数がいくつか?ではなく、それぞれの行数が必ず同じかについて質問しました。 また、「A列にリンゴ、B列にみかん、D列に合計数を出す」というのは決まっているのですね? > リンゴとみかんという名称は特に決まっていません。  ここについては項目名が不変か可変かでコーディングも変わるので確認のため質問しました。可変であれば「各列の数字ではない先頭のデータ」との定義になるかと思いましたが、不変であればもっと簡単です。A列から”リンゴ”(りんご?)を検索して、B列から”みかん”を検索してそれぞれのセルの行番号を記録します。その後は画像Aを作成したコードの要領で処理すれば良いです。
guest

回答1

0

ベストアンサー

こんにちは。

要は、列の先頭の行番号が分かれば
良さそうですね。

--------------------------------------------------- 
Option Explicit

Sub goukei( )

Dim i As Long 'カウンター
Dim ap As Long 'リンゴ
Dim ore As Long 'みかん

'   ↓ 列を上から調べて 最初の行
ap = Cells (1, 1).End (xlDown) .Row
ore = Cells (1, 2).End (xlDown) .Row

Debug.Print ap ' 画像 B を元に試した実行結果 6行目
Debug.Print ore '  〃        3行目

For i = 3 To 15

' 先頭行が文字列の場合を考慮して
' ( i + 1 , 4)
' にして一行ずらしました

Cells(i + 1, 4) = Cells (ap + i , 1) + Cells (ore + i , 2)

Next i

End Sub

こんな感じで、どうでしょう?

投稿2020/08/20 17:27

unagiinu

総合スコア42

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

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

kenji.oka

2020/08/21 00:10

上記のコードで解決致しました。非常に助かりました。ありがとうございます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問