• ベストアンサー
  • 困ってます

VBA 別シートの計算表

  • 質問No.8962096
  • 閲覧数589
  • ありがとう数1
  • 気になる数0
  • 回答数2
  • コメント数0

お礼率 37% (159/423)

Excelについて。

シートAに、計算表があります。
セルa1に入力した値によって、いくつかのExcel関数を利用して、
セルb1に結果を出力しています。

いつも、手入力でセルa1に値を入力して結果を求めていますが。
今度、シートBに膨大な入力するための数値があるので、VBAで自動化できないかと考えています。

今回の質問は、VBAで記述する際に、シートAの入力セルa1に、シートBの入力値を1つずつ代入していき、結果のセルb1をシートBの入力値の隣に出力していこうと考えています。
シートAのa1に入力値を代入して、すぐに結果b1の値を結果出力セルに代入していいのでしょうか?

計算表(シートA)での計算を時間をおく必要があるのでしょうか?=一旦、他のセルを選択するなど。

よろしくお願いします。


・計算表での計算時間は、1秒未満です。
・計算表の計算過程もVBAで書けば済む話ですが、プログラミングには疎いので、計算表をそのまま利用したいと考えています。=入力の代入だけVBAで書いていきたいと思います。
・その他、アドバイスなどいただければ幸いです。

よろしくお願いします。

Excel2010

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

  • 回答No.2
  • ベストアンサー

ベストアンサー率 51% (2545/4948)

>今回の質問は、VBAで記述する際に、シートAの入力セルa1に、シートBの入力値を1つずつ代入していき、結果のセルb1をシートBの入力値の隣に出力していこうと考えています。

との事ですが、「シートBのどのセルに入力されている値を代入したいのか」という肝心な事に関しての説明が抜けています。
 その「代入したい値」が入力されている多数のセルの中で、最初のセルはどのセルなのでしょうか?
 又、最初のセルのデータの処理が終わった後で、また次のデータの処理をしなければならないと思われますが、その次のデータが入力されているセルは、最初のセルの下にあるのか、それとも右にあるのか、どちらなのでしょうか?
 又、例えば最初のセルに対する次のセルの相対的な位置は、1マスずれた所にあると決まっているのでしょうか? もしかしますと、1行おきとか、1列おきといった飛び飛びの位置にあるセルを参照しなければならないなどという事は無いのでしょうか?
 そういった肝心の情報に関して質問者様から説明して頂かなければ、VBAを作るために必要不可欠な情報が不足しているのですから、質問者様が希望されているVBAなど誰も作る事など出来ませんよ。
 仮の話として、質問者様が実際に使われているシートBとは異なるレイアウトの表を用いる場合のVBAでしたら作る事が出来るかも知れませんが、そのVBAを参考にして、実際のシートBのレイアウトに合わせたVBAを質問者様御自身は作る事が出来るのでしょうか?
 もしも出来ないか難しいと思われるのであれば、必要な情報は全て開示して頂くよりほかは御座いません。

 そして、VBAを作る上で必要となる情報は他にもあります。
 例えば、ワークシート関数を使って処理を行う際に、数値計算を行う関数に、文字列データを処理させようとしますとエラーとなります。
 そして、

>シートAの入力セルa1に、シートBの入力値を1つずつ代入していき、結果のセルb1をシートBの入力値の隣に出力

という作業をVBAによって行う際に、シートBに入力されている値に何か間違いがあって、ワークシート関数で処理できない値となっていた場合には、そこでシートAのB1セルに表示される結果がエラーとなり、それが原因でVBAの動作もエラーとなり、VBAが途中で停止する恐れも若しかしますとあるかも知れません。
 万が一そうなりますと、質問者様はそのエラーに対処できるのでしょうか?
 その様な事態を避けるためには、「シートAのA1セルに入力しても良い値とはどんな値なのか」という事や、「シートAのA1セルに入力してはいけない値とはどんな値なのか」という事、及び、「もしシートBに、シートAのA1セルに入力してはいけない値があった場合には、単にそのセルは無視して次の処理を行えば良いのか、といった、どんな対応をVBAにさせれば良いのか」という事に関しても御説明願います。

その他の回答 (全1件)

  • 回答No.1

ベストアンサー率 28% (2/7)

直接シートBで計算関数を書くのは一番簡単の方法だと思いますが、シートAの計算表をシートBに反映することはできないでしょうか?

エクセル表を見せて頂けないでしょうか
お礼コメント
hp_win7

お礼率 37% (159/423)

ご回答ありがとうございます。

計算表で行っている計算は、
一行の計算(数式)ではなく、いくつかのセル(計算)を経由して値を求めています。

入力から出力までが1つのエクセル関数であれば、良いのですが。上記のとおりです。
投稿日時:2015/05/01 00:25
結果を報告する
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。
関連するQ&A

その他の関連するQ&Aをキーワードで探す

ピックアップ

ページ先頭へ