• ベストアンサー

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

  • 《エクセル》 平均値の求め方

    いつもお世話になります。 列Aに分類、列Bに数値がある場合に、「列Aの重複する分類の平均値を求める。ただし、列Bの値がゼロや空白だった場合、それを計算から除外する」という配列数式を組みたいのですが、うまくいきません。 お手数ですが、宜しくお願い致します。

  • エクセル関数で・・・

    A列の1行目から45行目までに、”1”か”×”を入力するか、空白があります。 B列の1行目から45行目までに、様々な数値、若しくは空白が入ります。 この時、A列が”×”の行でB列が空白でないセルをカウントする数式を教えて下さい。   A  B 1 ×  20 2 × 3 1  30 4 ×  5 1  20 6 7 1  30 8 ×  10・・・・ こんな感じで、A列が”×”でB列が空白でないセルは『2』と導きたいのです。 分かりにくい説明で申し訳ありませんが、宜しくお願いいたします。

  • エクセルで数式が入ったセルを空白にしたい。

    エクセルで数式が入ったセルを空白にしたい。 A1に"100"と言う数字、 B1はA1と同じ数値を自動入力させているので"=A1"という式が 入ってます。このB1の数式をB2からB10までコピーしているのでA2からA10に入力した数値が 反映されます。しかしA列にはいつも数値が入力されているわけではなく空白にする場合もあります。 でもB列の数式はコピーされてるので"0"が残ります。 そこですべて入力終了後にこのB列に自動で入力された"0"を削除したいのですが 置換で"0"にしても入ってるのは数値じゃなくて数式なので該当なしになるし、 数式も列ごとに移動されてるので一定ではありません。 この"0"を一括で削除するにはどうすればいいでしょうか? 入力範囲は500行まで及ぶのでいちいち"0"を探して削除するのが大変です。 分かりにくい質問ですいませんがよろしくお願いします。

  • エクセルで数式が入ったセルを空白にしたい。

    エクセルで数式が入ったセルを空白にしたい。 A1に"100"と言う数字、 B1はA1と同じ数値を自動入力させているので"=A1"という式が 入ってます。このB1の数式をB2からB10までコピーしているのでA2からA10に入力した数値が 反映されます。しかしA列にはいつも数値が入力されているわけではなく空白にする場合もあります。 でもB列の数式はコピーされてるので"0"が残ります。 そこですべて入力終了後にこのB列に自動で入力された"0"を削除したいのですが 置換で"0"にしても入ってるのは数値じゃなくて数式なので該当なしになるし、 数式も列ごとに移動されてるので一定ではありません。 この"0"を一括で削除するにはどうすればいいでしょうか? 入力範囲は500行まで及ぶのでいちいち"0"を探して削除するのが大変です。 分かりにくい質問ですいませんがよろしくお願いします。

  • EXCELで式での空白セルの挿入方法

    A列は空白行で、B列は数値が入っていたり空白だったりする行で構成されています。 またC列からD列までの全ての行には数値が入っています。 この時A列に条件付き数式を入力して、B列が空白でなければB列に空白セルを挿入して現B列からD列を右にシフトさせたいのですが、数式で可能でしょうか? 数式で可能ならばA列に入力する式を、不可能なら参考のためVBAでの記述をお教え頂けると嬉しいです。(VBAはあまり理解しておりませんが。) 例 【処理前】 A列 B列 C列 D列 E列     22   33  44          55  66     77   88  99         100  101 【処理後】 A列 B列 C列 D列 E列 式       22  33  44 式       55  66 式       77  88  99 式      100  101 2万行の処理を1回のみしたいです。 宜しくお願いします。

  • 総計をエクセルVBAで出すには。。

    A列にいくつかランダムに小計が入っておりB列の数値をA列の小計が入っている 行まで数式で足しています。 例=SUM(B16:B20)   A列の最終行に総計が入っているのですが総計にはB列のいくつかの小計行を 足して総計を出したいです。 小計を出すにはこちらで教えて頂き、VBAで自動でいれることができたのですが 総計をいれることができません。 VBAではどのように組めばいいのでしょうか?

  • ExcelVBAについて

    お世話になります。 Excelの数式についてお教えください。 do ~ loop の式を使うものですが、 A B C 1  80 2 90 3 85 4 B列に Activecell.Fomurla = ・・・という式を入れ、 A列が空白になるまでループさせたいと思うのですが、この際の do と loopの使い方をお教えください。 宜しくお願いします。

  • Excel のVBA ループ処理について

    マクロの歴が浅く、いまひとつ処理のロジックがわかりません。どなたかご教示下さい。 A列には番号が振ってあり、B列にはデータがあります。 ここで、番号で分けられているデータは7項目ある状態で、A列の番号をキーにして、ループ処理をさせたいと思っています。 データを上から順番に見ると、A1には番号1があり、1のデータはB1からB7まで書き込まれている配列になっています。この配列が、番号がnまで続く時のループ処理がわかりません。つまりA1の番号の下、A2からA7までは空白で、A8に番号2があり、この2のデータがB8からB14まで番号1と同様のデータが並んでいる配列です。 間に空白の無い場合の処理はわかるのですが、この様な場合、どういう処理を行えばよろしいのでしょうか?

  • エクセルVBAについて教えてください。

    エクセル2007を使ったVBAについて2つ質問です。 1つ目の質問は、5列目の右端の数字を2列目の右端に持ってくるため、 Range("B2").End(xlToRight).Next.Select ActiveCell.FormulaR1C1 = Range("A5").End(xlToRight) というVBAを組んだのですが、2列目に空白が入っている場合うまく動かないため動くように したいのですが、どのように組めばいいのかわかりません。 例    A     B     C     D     E     F     G     H     I     J     K 1  2 【数値1】  □    □     □     1     2     3     4     5  3 4 5 【数値2】   6     7     8     9     10 6 ※□は空白 上記の例の場合、5行目の右端である10を2行目の空白を除いた右端である5の隣に持っていきたいです。 2つ目の質問ですが上記例の2列目の両端(1と5)を選択してDeleteする方法がわかりません。 2つの質問についてわかる方おりましたら教えていただけると助かります。 よろしくお願いしします。

  • エクセルVBAで質問です。

    エクセルVBAで質問です。 A列   B列 AAAA  1111 BBBB  2222 CCCC  3333 とあります。 上記を AAAA (空白) (空白) 1111 (空白) BBBB (空白) (空白) 2222 (空白) CCCC (空白) (空白) 3333 (空白) A列にB列を挿入し、2・3・5行目に空白のセルを入れていきたいのです。 9000行ぐらいあります。 他の列に A列、B列のものを取得していく形でも構いません。 とにかく、縦1列に並べたいです。 どなたか、ご教授お願い致します。

このQ&Aのポイント
  • ネジ頭の溝を潰し、ネジを外す方法について悩んでいます。焼入れされたネジかと思われるため、普通の方法ではうまくいきません。
  • 輪ゴムや接着剤ではネジを外すことができず、専用の工具を使いましたが、効果はありませんでした。
  • タップ部の方が硬くないため、焼入れネジに入っていくタップが必要ですが、どこで手に入れることができるのでしょうか?
回答を見る

専門家に質問してみよう