- ベストアンサー
ExcelのVBAにて
お世話になります。 A列に 80 90 85 という数値があり、B列に「A列+50」といった数式を乗せます。 A列が空白になるまでループさせたいのですが、どういった数式がよろしいでしょうか?
- みんなの回答 (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
その他の回答 (2)
- hotosys
- ベストアンサー率67% (97/143)
ループを使いませんが、こんな方法もあると思います。 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
お礼
ご回答ありがとうございました。 早速、試してみたのですが、、、、 うーん、ちょっと難しいですね。 もう少しトライしてみます。
- hige_082
- ベストアンサー率50% (379/747)
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
お礼
こちらにもご回答をいただきありがとうございます。 iには列のアルファベットが入るのですよね。 いいところまではいっているのですけどねぇ。
お礼
早速ありがとうございます。 なるほど。 よくわかりましたが、今ひとつうまくいかないです(涙) 別に再度質問をたてますね。 今度は具体的に何がやりたいのかを記します。 引き続き宜しくお願いします。