• 締切済み

エクセルのマクロでの数式の入力に関しての質問です。

エクセルのマクロでの数式の入力に関しての質問です。 特定のセルに =セルと同一行のA列の値 + セルの同一行のB列の値 というような数式を入力したいのですが 同一行の列の指定方法がわかりません。  例) 特定セル=C1 結果:C1=A1+B1 特定セル=C3 結果:C3=A3+B3 どなたかご教授よろしくお願いいたします。

  • mgjp7
  • お礼率60% (18/30)

みんなの回答

  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.4

>=セルと同一行のA列の値 + セルの同一行のB列の値 >結果:C1=A1+B1 >結果:C3=A3+B3 Excelの初歩的なことで、相対参照式ですから、以下のようにすればよいです。 'Cは列のこと、C列に対して、2つ前と、1つ前、Rというのは行が同じという意味 Const mFML As String = "=RC[-2]+RC[-1]"  Range("C1").Formula = mFML  Range("C3").Formula = mFML

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

(1)数隙を使った結果をセットするなら Range《"C1"》=Range("B1")+Range(B1") (2)複数のセルに繰り返すなら A,B列にデータが入れてあって Sub test01() For i = 1 To 3 Range("C" & i) = Range("A" & i) + Range("B" & i) Next i End Sub (3)式を入れるなら Sub test02() For i = 1 To 3 Range("C" & i).Formula = "=A" & i & "+B" & i Next i End Sub (5)決ったセルなら、数式をそのまあ見れることも出来る。 Range("A2")="=B1+C1" Range("A3") = "=SUM(A1:A2)" Range("A1") = "=LEFT(""tanaka"",2)" 本件と関係ないが式を入れる時の注意例 http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1123225761 の例

  • nattocurry
  • ベストアンサー率31% (587/1853)
回答No.2

いろんな書き方があると思いますが、その中の3つを。 Range("C1").Formula = "=A" & Range("C1").Row & "+B" & Range("C1").Row With Range("C2") .Formula = "=A" & .Row & "+B" & .Row End With Range("C3").FormulaR1C1 = "=rc1+rc2"

回答No.1

ん? 要するにセルの表記方法って事? Cells(行,列)  ですから 特定セルと同じ行の数値を取得して入れればいいんじゃろ! 特定セル=現在の選択セルならば Cells(ActiveCell.Row,列) ですね

関連するQ&A

  • エクセルで入力した数値によって自動で入力される数式?

    エクセルで台帳を作っているのですが、 別の列のセルに入力した数値によって、 指定したセルに自動でA,B,C等と入力されるようにするにはどのように設定すればいいのでしょうか。 A列に0~1.1なら B列に A 1.2~2.9なら B 3.0以上なら C のように数字の範囲によってABCと表示されるようにしたいのです。 エクセルの数式等は簡単なものしかわからず、どのように調べたらよいかもわかりません。教えていただけたら助かります。

  • エクセルVBAについてお尋ね致します。数式が入力されたセルを異なるセル

    エクセルVBAについてお尋ね致します。数式が入力されたセルを異なるセルの条件によって「値」のみ残す方法を模索しております。 使用する列および行の例 列=A、B  行=5~10、15~20、25~30(A列、B列共通) 上記対象セルの内訳 A列(参照セル)=数値 ※空欄の場合もあります B列(変更セル)=数式(Aセル数値 * ○○%) ※B1セルの例:=IF(A1="","",A1*10%) のような数式が記入されております。 (例) Private Sub CommandButton1_Click() ’参照セルの指定 ("A5:A10","A15:A20","A25:A30") のようなコード*** ※現在はAセルの範囲としておりますが、後に変更の可能性を有しますので範囲指定が可能な形式を望みます。 ’変更セルの指定 セル指定のコード*** ※現在はBセルとしておりますが、これも後に変更の可能性を有しますのでA・B・Cのような入力(もしくはA=1、B=2、C=3)による指定可能な形式を望みます。 ’参照セル(Aセル)に数値が入力されている場合、数式から得られた変更セル(Bセル)の値を”値のみ”で残す。 実行コード*** ※参照セル(Aセル)が空欄の場合は変更を望まないので、変更セル(Bセル)は何も致しません。(数式のまま残す) End Sub このようなマクロを望んでおります。 イメージとしては数値がAセルに入力されていた際に同じ行のBセルにおいて右クリックコマンド内〔コピー〕 → 〔形式を選択して貼り付け〕 → 〔値〕の貼り付けを行うことをご想像下さい。 列や行の変更が予想されるので変更が可能なことを望んでおりますが、結果が伴えば他の体裁は気に致しません。 お手数ですがご教授宜しくお願い致します。 以上

  • 配列数式を用いたエクセルマクロの使い方

    セルA1に「=SUM((A1:A12=5)*(B1:B12=""A"")*C1:C12)」という風に数式を表示形式を文字列として入れておき、他のセルに、この計算結果を入れるたいのですが、マクロでどのようにすればいいか、ご存知のかたがいらっしゃいましたら教えてください。 ちなみに、使用したい数式(セルA1に入れているもの)は配列数式です。

  • Excelの入力式について

    Excelの入力式について教えてください。 たとえば、A1セル~F1セルに数値が入っていて、G1セルA1+B1の値、H列にC1+D1の値 I列にE1+F1の値としたい場合、 G1セルに数式を入れてH列にコピーするとB1+C1になってしまいます。 上手くやる方法はないのでしょうか。 1列ずつわざわざ空白列を作るのは嫌ですし、たくさんあったら数式を打ち込むのも大変です。。。

  • エクセル:数式の結合

    お世話になります。 A1セルに =B1 A2セルに =B2+C2 A3セルに =B3+C3+D3 ・・・ という式があるとします。 ここにそれぞれのF列の数式を追加したいと思います。 A1セル =B1+(F1の数式) A2セル =B2+C2+(F2の数式) A3セル =B3+C3+D3+(F3の数式) ・・・ となるようにしたいのですがどのようにすればよろしいでしょうか? 結果だけであれば足し合わせればよいのですが数式を書き換えたいというのが希望です。 (最終的にはA列の数式とF列の数式をあわせてひとつの列にしてしまいたいのです) 置換や関数ではどのようにしたらいいかわかりませんでした。 (マクロは手を出したことがありません) 文字列の結合ならCONCANTATE関数でできるのですが中の数式をうまく結合するには・・・ と考えていっても無理でした。 すみませんがお教えください。

  • エクセルでの数式入力

    エクセルでどのように数式を入力すれば良いのかで困っています・・・ B2(0.2)÷C2(3.0)×60+A1(6:50←時間)=A2(6:54←時間) になるように数式を入れたいのです。 私がA2に入力した数式は =B2/C2*60+A1 A1とA2のセルを時刻入力設定しました。 ですがA2がちゃんと6:54になってくれません・・・ 6:51になってしまいます・・・ どのように数式を入れれば正確な数字が出てきてくれるんでしょうか? ご存知の方教えてください・・・

  • エクセルの数式をどのように入れたら良いでしょうか?

    エクセルの数式をどのように入れたら良いでしょうか? いつもこちらでお世話になっています。 今回も教えて頂きたく質問させていただきます エクセルについてですが、 sheet1に入っているデータを sheet2に入力するようにしたいのですが sheet1の A列に1~50までのNo. →A1セルにNo.1、A50セルにNo.50 B列に(1)データ C列に(2)データ があり sheet2の D5のセルに「1」と入力すれば、sheet1!A列の数字とリンクしてsheet!B1の(1)データが入り D6のセルに「10」と入力すれば、Sheet1!A列の数字とリンクしてsheet!C10の(2)データが入る ように設定し、 さらにsheet2のD5,D6のセルに上書きで(繰り返し)数字を入力させ 数式が消えないようにしたいのですが どのようにすればよいでしょうか? 分かりずらい説明で申し訳ありませんが 大変困っているので、アドバイス頂けると助かります。

  • Excelのマクロを使わず、数式内のセル指定範囲をダイナミックにすることはできますか?

    Excelで数式内に範囲を指定するときに、先頭と最後尾のセル番地を指定しますが、他のセルで指定した数値を指定したセル番地の行数に指定することはできますか? 例えば、以下のようなサンプルにおいて A B C D 1 10 2 4 2 32 3 42 4 20 5 17 6 =sum(A2:A4) C1番地に2、D1番地に4を入力すると自動的に A6番地でA2~A4の範囲を指定して足し算してくれるようなことをマクロを使わずに実現できるでしょうか?

  • エクセルのマクロの組み方

    マクロの初心者です。エクセルのマクロを組んでいるのですが,壁にぶち当たってしまいました。次のようにしたいのですが。 たとえば,A1のセルに「りんご」B1に「割引(1)」C1に「割引(2)」が入っている場合にはD1のセルに200を返す。A1が「りんご」でB1が空欄,C1が「割引(2)」ならD1に230を返す,A1が「みかん」でB1,C1が空欄ならD1に150を返す,のようにいくつかのセルの入力内容によって特定のセル(この場合はD1)に返す値を変えるようなマクロってありますでしょうか。 Selection.Replaceのようなものを使おうと思ったのですが,見当違いでしょうか。 ご指導をお願いします。

  • EXCEL 数式が入った空白セルを数える

    毎度お世話になっています。 質問の内容ですが、例えば下記のようなシートがあるとします。 セルB1、セルC1、セルD1:手入力セル セルA1:数式「=IF(B1="","",B1+C1)」 セルA2:文字列 セルA3:数式「=IF(D1="","",D1*0.1)」 セルA4:文字列 セルA5:A1+A3の計算結果を表示 (※なお、セルA2、A4は数値が入らない) というような場合において、 ●セルB1、C1、D1になにも入力されていない場合、セルA5が空白となる。 ●セルB1、C1にのみ数値が入力されている場合、セルA5の計算結果がセルA1の値のみ。 ●セルD1にのみ数値が入力されている場合も上記と同様に計算結果が表示される。 以上の条件を満たす数式をセルA5に入力したいのですが、 COUNTBLANKは数式が入っている場合には使えず、COUNTAの場合だとセルA1、A3のどちらにも数値が入った場合に表示される、といった数式になります。 IFをいくつも使えば可能とは思いますが、もう少し単純に数式を作れたらと思い質問をさせて頂きました。 よろしければ御回答宜しくお願い致します。 (内容を訂正したため、いったん質問を削除しました。もし御回答中の方が居ましたら申し訳ありませんでした。)

専門家に質問してみよう