• ベストアンサー

ExcelのVBAにて

お世話になります。 A列に 80 90 85 という数値があり、B列に「A列+50」といった数式を乗せます。 A列が空白になるまでループさせたいのですが、どういった数式がよろしいでしょうか?

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

  • ベストアンサー
  • okormazd
  • ベストアンサー率50% (1224/2412)
回答No.3

>iには列のアルファベットが入るのですよね。 ではありません。 行番号、1,2,3・・・です。 また、 列の表示の仕方には、2通りあって、A1形式では、A,B,C・・・、R1C1形式では、1,2,3,・・・です。 Sub test() r = 1 '行番号 c = 1 '列番号 a = Cells(r, c) While a <> "" Cells(r, c + 1).Formula = "=A" & r & "+50" r = r + 1 a = Cells(r, c) Wend End Sub

kenchiki
質問者

お礼

早速ありがとうございます。 なるほど。 よくわかりましたが、今ひとつうまくいかないです(涙) 別に再度質問をたてますね。 今度は具体的に何がやりたいのかを記します。 引き続き宜しくお願いします。

その他の回答 (2)

  • hotosys
  • ベストアンサー率67% (97/143)
回答No.2

ループを使いませんが、こんな方法もあると思います。 Sub sample1() Range("B1:B" & Range("A" & Rows.Count).End(xlUp).Row).Formula = "=A1+50" End Sub または Sub sample2() Range("B1").Resize(Range("A" & Rows.Count).End(xlUp).Row, 1).Formula = "=A1+50" End Sub

kenchiki
質問者

お礼

ご回答ありがとうございました。 早速、試してみたのですが、、、、 うーん、ちょっと難しいですね。 もう少しトライしてみます。

  • hige_082
  • ベストアンサー率50% (379/747)
回答No.1

Sub test1() Dim i As Long For i = 1 To Cells(Rows.Count, 1).End(xlUp).Row Cells(i, 2).Formula = "=RC[-1]+50" Next i End Sub

kenchiki
質問者

お礼

こちらにもご回答をいただきありがとうございます。 iには列のアルファベットが入るのですよね。 いいところまではいっているのですけどねぇ。

関連するQ&A