[[20040815060004]] 『VBA:ユーザーフォームで計算を自動化したい』(hiro) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『VBA:ユーザーフォームで計算を自動化したい』(hiro)

[VBAのユーザーフォームを使用して計算を自動化したい]

はじめまして。VBAのユーザーフォームについて質問ですが、

利率= (販売価格−仕入価格)÷販売価格×100

上記に書かれている利率の式の販売価格の数値と×100をあらかじめワークシートのセルに入力しておき、作成したユーザーフォームのテキストボックスに任意の仕入価格の数値を入力し、入力のコマンドボタンをクリックすると、セルに入力されている、販売価格の数値と×100が自動的に計算されて、利率の数値がセルに表示されるようにすることは可能でしょうか?上記の式は、関数を使えば求められるのですが、手入力を少なくして、自動化し、計算結果を早く求められるようにしたいので、アドバイスお願いします。可能でしたら、計算を仕方をどのようにしてVBAのコードに記述したらよいかもお願いします。VBAの本は、持っているのですが、計算のコードの記述のやりかたがわからなくて困っています。


 A1に仕入価格、B1に販売価格を入力すると利率を出してくれる式は以下になりますが、
 =100*(B1-A1)/B1
 ユーザーフォームのテキストボックスにこだわる理由はなぜですか
 手入力を少なくするというのと、自動化というのはどの程度ですか
 セルの計算式をコピーするのではだめですか

 販売価格を変えないのであれば以下の式をC1に入力し、
 =100*($B$1-A1)/$B$1
 下へフィルドラッグし、A列に仕入価格を順に入力していけばいいかと思います。(Σ)


 横から失礼します。
 hiroさんて、あの早打ちNo1のhiroさんでっか?
 関数のやり方は既にご存じでっしゃろから、なんらかの理由でユーザーフォームを
 ご利用になりたいと解釈して
 CommandButtonのコードに

 Range("b1") = (Range("a1") - (TextBox1.Text) * 1) / Range("a1") * 100

 小数点2桁の表示なら
 Range("b1") = Application.WorksheetFunction.Round((Range("a1") - (TextBox1.Text) * 1) / Range("a1") * 100, 2)
 等と記入します。
 説明申し上げるまでもなくA1に販売価格が入っているとしての作業です。
      (弥太郎)


 Σさん、弥太郎さん、早速のご回答ありがとうございます。早速活用させていただきます。仕事の関係上、ExcelのVBA を使用して、計算のプログラムを作成したいので、
ユーザーフォームを使用すれば、計算が自動化されて、計算結果が速く求められると思ったからです。
私は、初めて書き込みしましたので、早打ちNo1のhiroさんとは別人です。

コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.