- ベストアンサー
if文について
以下のプログラムで期待通りの動きが出来ません、間違いを教えて下さい。 n = 4 For i = 1 To 24 Hen = Cells(n, 3) If Hen = data(i, 3) Then Exit n = n+13 Cells(z, 6) = data(i, 2) 'ISRC Next 「Hen」の変数と「data(i, 3)」の変数が同じ場合は 「Cells(z, 6) = data(i, 2)」を実行して 違う場合はnに13を足して再度if文の実行を行いnが255を越えたらiを一つ増やしてnを4に戻してiが24になるまで繰り返したいのですが。 PS、「data(i, 3)」は事前に登録済みです。 教えて下さい。 以上
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
こんばんは。 書き方はいろいろありそうですが・・・、 For i = 1 To 24 n = 4 Do Until n > 255 Hen = Cells(n, 3) If Hen = data(i, 3) Then Cells(z, 6) = data(i, 2) End If n = n + 13 Loop Next これで動くかな? 試してないので・・・すみません・・・。 (^^ゞ
その他の回答 (3)
- imogasi
- ベストアンサー率27% (4737/17069)
(1)EXITがおかしい (2)Zはどう言う風にして決まるのでしょう。 突然出てきているが。 同じくdata(i,3)も突然出てきている。Cells(i,3)の間違い? こういう書き方(初期設定を省くと)回答者がテストしようがない。 シート上のデータについて、したいことを文章にして(いわゆるコメント)を入れてみて、回答者に説明し教えてもらえば。
お礼
回答ありがとうございました。ご指摘の通り質問が中半端でした、自分の中で今一度制して質問させていただきます。本当にありがとうございました。
- taka451213
- ベストアンサー率47% (436/922)
こんばんは。 VBっぽいですが・・・。 ご記載のロジックですと、 Henがdata(i, 3)と同じならExit??? つまり、For文を抜けてるわけですが・・・。 違うのかな? (^^ゞ
補足
回答ありがとうございます、実はプログラム初心者です。よろしければ正規のプログラムを教えてもらえないでしょうか。
- marimo_cx
- ベストアンサー率25% (873/3452)
言語はなんですか?
補足
失礼しました、エクセルのVBAです。
お礼
回答ありがとうございました、質問が下手で申し訳有りませんでした、今一度整理して質問させていただきます。本当に失礼しました。