• ベストアンサー

VBAで計算式の貼り付け

おはようございます。 エクセルで質問させて頂きます。 A列に値入力で任意に数字を入力していきます。そしてB列にA列*10の計算式を入力したいのですが、A列のデーターは毎日手入力で入力していく為、データー数は増えていきます。 そした時にあらかじめB列に計算式を入れておくとファイル自体が大きくなる為に計算式自体を入れておく事を避けたいのです。 そこでVBAにてA列にデーターが入力されている行だけB列に先ほどの計算式を入力するといった事はどうすればいいでしょうか? 何分、VBAの勉強をし始めたところで知識不足ですゆえご指導お願い致します。

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

  • ベストアンサー
  • kenpon24
  • ベストアンサー率64% (66/102)
回答No.3

式はNo.1さんのもので問題ありません。 やりたいことからするに、Worksheet_Changeイベントで記述するのがいいと思います。 計算したいシート(Sheet1とすると) VBEのSheet1に Private Sub Worksheet_Change(ByVal Target As Range) Range("A1", Cells(Rows.Count, 1).End(xlUp)).Offset(0,1).Formul = "=A1*10" End Sub と書けば意図したとおりに動くと思います。

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (2)

  • n-jun
  • ベストアンサー率33% (959/2873)
回答No.2

>A列にデーターが入っている行までコピーするという風にしたいのですが、いかがでしょうか? A1からA列のデータのある範囲までのB列に、式を入れるように なっていると思いますが? Sub ~ End Sub は省いてますので、そのままでは無理ですよ。

全文を見る
すると、全ての回答が全文表示されます。
  • n-jun
  • ベストアンサー率33% (959/2873)
回答No.1

Range("A1", Cells(Rows.Count, 1).End(xlUp)).Offset(0, 1).Formula = "=A1*10" ラフに書くと、こんな感じとか? (A1がスタートの場合ですけど)

noname#63196
質問者

補足

早速のご回答感謝いたします。 申し訳ありません。説明不足です。 B1にだけA1*10の計算式が入っていてA列にデーターが入っている行までコピーするという風にしたいのですが、いかがでしょうか?

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • 各個体に対する平均値の自動計算(VBA-マクロ)

    各個体に対する平均値の自動計算(VBA-マクロ)  VBAマクロのほぼ初心者です。 言葉だけではうまく説明できないので、画像を添付しました(データ例.jpg)。 ある列に入力されている各個体(A列)に対応する数値(B列)の平均値を自動計算したいです。 各個体のB列1行目は空白になっていて、それぞれの計算結果をそこに入力されるようにしたいです。 *各個体はすでに昇順で並んでいる状態です。 Do~Loopなど利用して色々試したのですが、なかなかうまくいきません。。 よい方法がありましたら、教えていただきたいです。 どうぞよろしくお願いいたします。

  • ExcelのVBAで連番を振る。

    A列が空白で、B列に1行目から***行目(毎回変わる)までデータが入力されている時、 A列に、1から***まで(B列のデータが終わるまで、連番を振るにはどんなVBAを かいたらいいのでしょうか? お願いします。

  • VBA特定セルの条件で同じ個数ずつ文字入力

    Excel VBAの初心者です。    A   B   C 1  011       0.5 2  012 3  013 4 行の総数は下に向かって700行くらいありますが、64行ごとにひとかたまりであることが分かって いるデータがあります。隙間はありません。またB列は空白です。 このB列にC1の数値を元に64行ごとに一定のステップで数値入力できるコードを作りたく思って います。例として、B列はB1から0,0~と同じ数字が縦に64個つながり、B65からは0.5,0.5~と縦に 同じ数字が64個つながり、A列がなくなるまで繰り返し自動で入力したいのです。 何分初めてなものでよく分かりません。どなたかサンプルコードを教えて頂けないでしょうか。 よろしくお願いします。

  • VBAの計算式で値を検出し別シートに貼り付ける

    例でA.xls sheet1に添付のデータがありB.xls sheet1のB列に検索値がありC列に記載のとおりの計算式が入力されています。関数入力はC2セルにの計算式を入力しそれを元にオートフィルでC3以降入力しているが膨大な計算式になりExcelを開いたりするのに処理に時間がかかりすぎる為セルに計算式をいれるのではなくVBAで計算式を入力しオートフィルみたいに連続した計算の値のみを入力したいのですがコードが解る方宜しくお願いします。

  • ● Excel VBAでの計算処理

    ● Excel VBAでの計算処理 超初心者です。いろいろ研究したのですが、よくわかりません。 VBAに詳しい方、是非をお教えください。VBAでやりたいことは以下のことです。 (1)あるブックのSheet1、A列の項目の特定のキーワード(例えば”数量”)を検索条件にしてデータを検索し、その行の複数の列(例えばAA列からCC列)の数値データに-1を掛けて正の数をすべて負の数にする。 (2)上記(1)の結果を別のブックの”計算結果”というシートに抽出する。 (3)元のブックには”数量”のほかさまざまなキーワードが設定されたデータが混在しています。また、計算の対象となる列のはじまりと終わりは特定できる。しかし、もとのブックの行数(データ件数)は特定できないとします。 イメージとしては、 元のブックにあるデータ) A列  B列  C列  ・・・・・ AA列 ・・・・ CC列 数量                5000     2376 数量                1234     9932 金額                30000    2099 結果が抽出されたブックのイメージ(結果は別のブックに抽出される) A列  B列  C列  ・・・・・ AA列 ・・・・ CC列 数量                -5000     -2376 数量                -1234     -9932

  • VBAコードを教えて下さい!!

    VBA初心者です。 皆様どうぞお力をお貸し下さい(>_<) A列「都道府県」・B列「市町村」・C列「番地」と分かれた列にそれぞれ入力してあります。 それをA~C列を結合して「都道府県市町村番地」と表示させたい。 データは2行目~500行目くらいまで入っています。 最初の1行(A2~C2)だけは出来たのですが、 それ以降データの終わりまではどうすれば良いのか分かりません。 どうぞ宜しくお願い致します。

  • Excel VBA - 数式のコピーと値貼り付け

    A~Cを使った表があり、AとBには値が入力されています。 C2に"=A2+B2"と入力し、その式を、A列の最終行と同じ行までコピーし、C2からCの最終行までの範囲をコピーして同じ範囲に値貼り付けするにはどういうVBAを書けばいいでしょうか。 宜しくお願い致します。

  • EXCEL VBA 貼り付け

    A.xls 、B.xlsと二つのブックがあります。 A.xls のA列の最終行がA100だった場合は、A.xlsのA101以降にB.xlsのA2以降のデータ、A.xlsのB101以降にB2以降のデータA.xlsのC01以降にC2以降のデータを貼り付けたいのですが・・ ※A.xls のA列の最終行を取得して、B.xlsのデータをA.xlsの最終行に貼り付ける。 よろしくお願いいたします。

  • エクセル2003のVBAを教えて

    エクセル2003のVBAを教えてください。 次の対象データで、(1)(2)(3)の作業が出来るエクセルVBAを教えて下さい。 (1)(2)(3)個々のVBAでお願いします。 ●対象データ:種類(A列)、文字(B列)、    データの行数:不特定なので、データのある最終行までとします。 ●教えていただきたい項目  (1):種類だけを(C列)に取り出す。  (2):種類の先頭に空白の行を3行入れて、追加の2行目の種類(A列)に文字(B列)を入れる。  (3):種類が5行以上あるときは、5行ごとに空白行を追加する。 ●対象データ 種類(A列)   文字(B列) AA       あああ BB       いいい BB       いい BB       いいい CC       うう CC       うう DD       ええええ DD       ええええ DD       ええええ DD       ええええ DD       ええええ DD       ええええ DD       ええええ ●(1)のVBAの結果(このようになるVBAを教えてください。) (C列) AA BB CC DD ●(2)、(3)のVBAの結果(このようになるVBAを教えてください。) 種類(A列)    文字(B列) あああ AA        あああ いいい BB        いいい BB        いいい BB        いいい うう CC        うう CC        うう ええええ DD        ええええ DD        ええええ DD        ええええ DD        ええええ DD        ええええ DD        ええええ DD        ええええ

  • VBAでソートして、貼り付けのやり方

    (条件及び操作) 1 シートが2つあります。(元データ と 名簿シート)という名前。 2 名簿シートのH2に数字を入力する。元データのシートの1行目にある、番号と一致する列を操作する。 3 元データの対象の列で、まずD列(組ごと)に、1組・2組をソートする 4 次に、対象の列(科目:国語や理科など)事に、○をソートする 5 ソート後に、番号、名前、出身と○をコピーする。 6 その後、名簿シート(1組でソートしたものは、B2、2組でソートしたものはE2)に貼り付ける 7 対象の列の科目名(国語なら国語を)をA1に貼り付ける 8 元データのソートを解除する (備考) 番号も科目も100ぐらいあります。 これらの(条件及び操作)を元に、名簿シートのH2に任意の数字を入力して、元データの対象の列を上記(1~8)の操作を行いたいと思います。 《シート名:元データ》 A列   B列   C列   D列   E列   F列   G列   H列   I列   ・・・                       1    2     3     4    5   ・・・   番号  名前   出身  組    国語  理科   英語   数学  社会  ・・・ 001 Aさん  東京    1     ○                ○   ○  002 Bさん  沖縄   1     ○                 ○   ○  003 Cさん  鹿児島  1     ○                     ○  004 Dさん  青森    1     ○                     ○  005 Eさん  北海道  2     ○          ○  006 Fさん  京都   2     ○          ○     ○ ・ ・ ・ 《シート名:名簿シート》      A列   B列   C列   D列   E列   F列   G列   H列    国語     1組              2組     番号   名前   出身  番号   名前   出身  番号入力      お忙しい中、大変申し訳ございませんが、どうぞよろしくお願いします。 また、質問の内容などがわかりづらいなどの事がありましたら、ご指摘ください。

このQ&Aのポイント
  • 質問文章全体の100文字程度の要約文を3つ作成し、文章の内容をまとめてください。
  • 最近「安いな」と痛感したのは、下着のシャツです。綿の普通のⅤネックのシャツがクリアランス価格で、2枚で690円。サイズもぴったりで肌触りもよく、湯上りに着ると実に爽快です。ラーメン一杯の価格で、1シーズン着れるのですから、最高のコスパです。
  • 逆に「高いな」と思ったのは、「自家用車」です。今乗ってるのがいつの間にか19年目ですが、古女房と一緒で気心が知れ、多少ぶつけても気にせず、まだまだ安心して乗れます(笑)。ただ最後に一度は外車にも乗りたいなと考えた時、車以外の経費がバカになりません。駐車場代から、保険に税金。定期的な点検や維持費にガソリン代。事故れば更に数万円と、きりが無いです。どうしたものかと、なかなか結論が出ません。
回答を見る