- ベストアンサー
指令が2つ BVA
BVA、マクロ初心者です。 エクセルで、例えばA3に「消費税10」という言葉が入っていたら D3にB3*1.1、E3にC3*1.1をそれぞれ計算させたい、 という場合について質問させて下さい。 指令をD3,E3の2つに出すということです。 どんなVBAを組めばいいでしょうか。使える関数?か 何か分かりませんが教えてください。
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
vbaで『A3に「消費税10」という言葉が入っていたら』というような、条件次第で動作を変化させるにはif文を使います。こうした処理を条件分岐といいます。 この時、分岐後の処理は2つでも3つでも制限なく行えます。 https://excelvba.pc-users.net/fol6/6_1.html
その他の回答 (4)
- m5048172715
- ベストアンサー率16% (860/5261)
VBA使用を今後も続けるのだろうと仮定して、 任意の位置のセルの読み書き する関数を作れば良い。後々再利用できる。 残りの機能は文字列か数字の判定だけだな。
- imogasi
- ベストアンサー率27% (4737/17069)
>BVA は正しくはVBAです。何の略語(英語の語句の先頭の文字1文字)並べたものか、勉強せよ。沢山この手の略語は出てくるが、最低限何の略語か知っているべきだ。 これだけで、きのう今日に、VBA・マクロをはじめたことが判る。 ーー (関数の問題) 初心者ならエクセル関数でどうするか考えた方がよい。 またあえて、VBAでエクセル関数を使うなら、Application.WorksheetFunction.XXという使い方もある。WEB記事照会のこと。 (2値以上を返す関数) VBAのユーザーが作る関数で、1つの関数実行で、2つのデータ(値)を返す手もあるが、初心者のやる課題ではない。 Googleで「vba 複数値を返す関数」ででも照会したら、記事が出る。でも、よく判らないだろう。 複数セルに、1実行で別の指定値をそれぞれセットするのも将来の課題だとは思う。 ーー >消費税10 例題を考えるとき、こういう定数は%数字か、値0.1かは混ぜて考えない方がよい。 別の課題としてやって見る事項だが、ややこしくするだけ混ぜると、ややこしくするだけ。例えばセル範囲も, 学習の初めは、人間(=質問者)が判断して設定するとよい(例Range(”A1:D10”).XX) 学習の初めは、人間の認識を借りて考えるべき。 其の後に、一般化・データ状況から割り出すなら、どうなるか、考えて(試してみる)態度は大切だが。 ーー 指導者がそばにいなくて、VBAの学習が進むかどうか、個人的に疑問がある。 ここで答えている人も、職場などで、Javaなど経験していて、そこで基礎はできていた人が、VBAを勉強したのではないか、と想像している。
- SI299792
- ベストアンサー率47% (774/1621)
>使える関数? 関数でもいいですか D3: =IF($A3="消費税10",1.1,1)*B3 右下へコピペ。 VBA にする必要はないと思います。
>>例えばA3に「消費税10」 「例えば」って他にも選択肢が有るのですか? 起こりえる選択肢を教えて欲しいです。 ・空白 ・消費税10 ・消費税8 の3択くらいならマクロでなくて関数で十分だと思います。