• ベストアンサー

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)」は事前に登録済みです。 教えて下さい。 以上

質問者が選んだベストアンサー

  • ベストアンサー
回答No.3

こんばんは。 書き方はいろいろありそうですが・・・、 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 これで動くかな? 試してないので・・・すみません・・・。 (^^ゞ

homma
質問者

お礼

回答ありがとうございました、質問が下手で申し訳有りませんでした、今一度整理して質問させていただきます。本当に失礼しました。

その他の回答 (3)

  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.4

(1)EXITがおかしい (2)Zはどう言う風にして決まるのでしょう。 突然出てきているが。 同じくdata(i,3)も突然出てきている。Cells(i,3)の間違い? こういう書き方(初期設定を省くと)回答者がテストしようがない。 シート上のデータについて、したいことを文章にして(いわゆるコメント)を入れてみて、回答者に説明し教えてもらえば。

homma
質問者

お礼

回答ありがとうございました。ご指摘の通り質問が中半端でした、自分の中で今一度制して質問させていただきます。本当にありがとうございました。

回答No.2

こんばんは。 VBっぽいですが・・・。 ご記載のロジックですと、 Henがdata(i, 3)と同じならExit??? つまり、For文を抜けてるわけですが・・・。 違うのかな? (^^ゞ

homma
質問者

補足

回答ありがとうございます、実はプログラム初心者です。よろしければ正規のプログラムを教えてもらえないでしょうか。

  • marimo_cx
  • ベストアンサー率25% (873/3452)
回答No.1

言語はなんですか?

homma
質問者

補足

失礼しました、エクセルのVBAです。

関連するQ&A