- ベストアンサー
Excel VBAで計算を更新する方法を教えて下さい。
VBAでいくつものセルに計算式を入力していると その式を更新したときに、セルに表示される値が再度計算されなおしてくれないのですが、 これはどうすれば良いのでしょうか? 何卒よろしくお願い致します。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
関連するQ&A
- Excel. Vba
Vbaでセルの値だけコピーしたいのですが可能でしょうか? 数式を埋め込んだセルに、数値が入力されたセルを形式を値だけ貼り付けにして貼り付けても数式が消えてしまって値だけ入ってます。 数式は消さず、値だけコピーというのはvbaで実現可能でしょうか?
- 締切済み
- Visual Basic
- EXCEL VBAマクロで質問です。セル中の式で値だけ更新したいのです
EXCEL VBAマクロで質問です。セル中の式で値だけ更新したいのですが、方法がわかりません。 セルA1に={14}+(7.75*4)+(7.75*3)の様に計算式が入っています。()内に記述された数値は週ごとの予想作業時間だとします。{}内に記述された数値は実績時間です。 別のシートで計算した週の実績時間が24だったとして、セルA1の式中の(7.75*4)の予想時間部分を実績時間の{24}に置き換えたいと思っています。セルA1に={14}+{24}+(7.75*3)の様に。。。。 とりあえずRange("A1").Formulaで式の取り出しができるところまではできました。 が置き換えの方法がわかりません。このような事をVBAマクロで行いたいのですが教えてください。
- ベストアンサー
- その他(プログラミング・開発)
- VBA 別シートの計算表
Excelについて。 シートAに、計算表があります。 セルa1に入力した値によって、いくつかのExcel関数を利用して、 セルb1に結果を出力しています。 いつも、手入力でセルa1に値を入力して結果を求めていますが。 今度、シートBに膨大な入力するための数値があるので、VBAで自動化できないかと考えています。 今回の質問は、VBAで記述する際に、シートAの入力セルa1に、シートBの入力値を1つずつ代入していき、結果のセルb1をシートBの入力値の隣に出力していこうと考えています。 シートAのa1に入力値を代入して、すぐに結果b1の値を結果出力セルに代入していいのでしょうか? 計算表(シートA)での計算を時間をおく必要があるのでしょうか?=一旦、他のセルを選択するなど。 よろしくお願いします。 ・計算表での計算時間は、1秒未満です。 ・計算表の計算過程もVBAで書けば済む話ですが、プログラミングには疎いので、計算表をそのまま利用したいと考えています。=入力の代入だけVBAで書いていきたいと思います。 ・その他、アドバイスなどいただければ幸いです。 よろしくお願いします。 Excel2010
- ベストアンサー
- Excel(エクセル)
- VBAを使わず、計算式を使いまわし
エクセルで勤務表を作っています。 たとえば、B2に出勤時間を、C2に退社時間を入力すると、D2に勤務時間が表示されます。 現在の計算手法は、A1、B1の値を別セルからそれぞれ参照し、計算をし、結果を別セルに表示させます。その結果をC1セルが参照して、C1セルに表示させるような手法をとっています。 ※話を簡単にするための一例です。この程度ならダイレクトにC1に結果を表示させることは簡単ですが、実際にはさまざまな条件があるため、計算はもっと複雑です。 この手法だと、同じ計算式を日にちごとに用意しなければいけません。 計算式がそこそこ複雑なので、毎日分用意すると、メンテナンスやファイルサイズの問題などあまり よろしくないと思っています。 そこで、VBAのFunctionプロシージャのように、計算式は1セットのみで、毎日の出勤、退勤時間を引数で渡して、結果を返すような方法はできないのでしょうか?
- ベストアンサー
- Excel(エクセル)
- Excelの関数を使って自動計算。
A1のセルに、 0~4 の値が入力されたら、A2のセルに、“0”を表示 5~14 の値が入力されたら、A2のセルに、“1”を表示 15~24 の値が入力されたら、A2のセルに、“2”を表示 25~34 の値が入力されたら、A2のセルに、“3”を表示 35~44 の値が入力されたら、A2のセルに、“4”を表示 45~54 の値が入力されたら、A2のセルに、“5”を表示 55~64 の値が入力されたら、A2のセルに、“6”を表示 65~74 の値が入力されたら、A2のセルに、“7”を表示 75~84 の値が入力されたら、A2のセルに、“8”を表示 85~94 の値が入力されたら、A2のセルに、“9”を表示 95~100 の値が入力されたら、A2のセルに、“10”を表示 させるように関数を使い式を作るとき、どのようにしたら よろしいでしょうか?
- ベストアンサー
- オフィス系ソフト
- エクセルの計算で困ってます
エクセルで計算用のテンプレートを作成しているのですが、うまくいきません。 例えば、セル C1に、C1=A1+B1 という式を入れた時、A1やB1の値を変えれば、C1の値も変わるはずと思うのですが、変わりません。 厳密に言えば、C1の式を入力するところにカーソルを置いて、Enterキーを押せば変更されます。 できれば、A1に新しい値を入力するだけで、新しい計算結果になるようにしたいのです。 なにかいい方法はありませんでしょうか?教えてください。
- ベストアンサー
- Windows系OS
- エクセル VBAにおける平均計算につきまして
エクセルにおけるVBAの平均計算に対するプログラミングについて教えてください。 内容としては、 ある列に対して(ここではA列とします)数値が入力されており、 その入力されている範囲は毎回入力する度、入力範囲がまちまちになっているとします。 その「まちまちな入力範囲に対して」平均値をVBAにて求めたい場合、 Averageにて範囲指定を入力する際に、どのようにプログラミングすればよろしいのでしょうか? ※具体的にはA列の「数値が入力されているアクティブなセル」を指定したいのですか、どうすればよいでしょうか? 回答をお願い致します。
- ベストアンサー
- Excel(エクセル)
- エクセルVBAについて
エクセルVBA についての質問です。 この問題の答えを教えて頂きたいです。 次の条件を満たすプロシージャを作成してください。 1、ダイアログボックスに最初に市外局番なしの電話番号を入力すると、 先頭に小文字の「a]をつけた電話番号が自動的に、セルB3に入力される。 2、ダイアログボックスでキャンセルを押すと、 電話番号を入力してください、というメッセージボックスが表示される。 3、セルB3の値が「a1234567890」のとき、セルB3が赤の太字になり、 さらにセルC3に「検証用です」と入力される。 この問題の正解となる式を教えてください。 どこが間違っているかがわからず困っております。 よろしくお願いいたします。
- ベストアンサー
- Visual Basic
- エクセル上のVBA
当方、VBAまるっきり初心者です(触りはじめて3日くらい)。 エクセルはある程度理解しているつもりですが… バージョンはエクセル2000です。 他シートのセルのひとつに入力すれば、 別シートのセルがそれを参照したうえで 値として表示出来るようにならないでしょうか。 今のところ、以下のような状況です。 step01 sheet1のセルA1に任意の数値(整数限定です)を入力。 step02 sheet2のセルA1に、sheet1のセルA1の数値を用いて MOD関数で余りを出す。 step03 sheet2のセルB2に以下のVBAによって step02の余りを値として表示。 Private Sub Worksheet_Change(ByVal Target As Range) Range("b2").Value = Range("a1") End Sub これだとsheet1の数字を変えても、 sheetの切替後sheet2のセルB2に 表示される値が変わってくれません。 最初の入力(step01の入力)をおこなえば sheet2のセルB2まで値が変わってくれるような方法を 教えていただけないでしょうか。 拙い説明で申し訳ありませんが、よろしくお願いします。
- ベストアンサー
- オフィス系ソフト