シートの”C2”に「値1」、”D2”に「値2」、”E3”に「演算方法」、を入力した値を元に”F3”に演算結果を出力するプログラムを作りなさい。
「値1」、「値2」には数値を「演算方法」には”+”、”-”、”*”、”/”の記号を入力するもとします。
可能であれば指定された値以外が入力された場合、エラーときてMsgboxで表示しなさい。
詳しい人教えて
VBA使わなくても出来るじゃん
|
|
プログラミングってなんなの?
「最も恐ろしいプログラミング言語」 5万人のプログラマが回答 1位はVisual Basic
面接官「Excel使えますか?」僕「VBAはもちろんCOMアドインの開発もできます!」
一年前俺「エクセルの表もろた」先輩「念のため電卓叩いとけ」
マクロの記録→手動で目的の操作を行う
で生成されたコードを参考にしたら
var c2 = 2, d2 = 3, e3=['+', '-', '*', '/'];
console.log(eval(c2+e3[0]+d2));
JavaScriptで無理矢理書くとこんなかんじ
あ、ちなみに
Excelのvbでやってる
>>6
すまん、Excelが手元に無いんだ
>>8
フリーのOpenOfficeのマクロってVBAとは別モンだっけ?
>>9
使ったことないけど、やっぱり移行しやすいように似せてあるみたいね
「OpenOffice.org Basicは、基本的に文法がVBA (Visual Basic for Applications)と同じである。」
http://itref.fc2web.com/openoffice/basic/#vb
>>8
ありがとう、これはこれで
勉強になる
>>11
if やら select caseは使っちゃダメなの?
>>13
いいと思うん
>>11
エクセルのセルの値の型がわからないのだけど、
javascriptでは 一旦文字列で式を作ってevalで実行してる。混乱しがちだと思うので注意
eval(c2+e3[0]+d2)
は
eval('2+3')に展開されている
>>15
へー、すげえ。そんなことできるんだ
>>15
VBAだと、式作ってセルに計算式として渡して計算させるってのは出来た筈。
演算方法の値で分岐させればよろし
Exelつかったことないんだが
もしエラーメッセージまで実装するなら
TYPE
https://support.office.com/ja-jp/article/TYPE-%E9%A2%E6%B0-45b4e688-4bc3-48b3-a105-ffa892995899
で型が調べられるみたいだから、これ使って数値と文字列とそれ以外を場合分けすればいいかな
演算子はぜんぶ文字列になっちゃうから、個別に判定を
>>22
VBAにtry catchとかiferrorがあればevaluteをそれで挟めばいいかなと思った
>>24
ifelseのごり押しで草
>>27
すまんな、気の利いたコードが書けなくて
>>31
いやむしろその執念に感服するわ
elseif連続で使ってたらあたしは混乱する(´・ω・`)
>>32
多分、.NETならIf使わず全体をTryキャッチで囲んで
キャッチ節で例外のメッセージ表示して終わると思うTryは偉大
>>35
あ……(´・ω・`)
あ、それとオプションボタンで
+*-/を選択できるようにつーのも
書いてありやした……ので色々と
改良しやすん
>>36
がんばれー、あともうちょい
あ、できそうです
セルの値だと、どこかのタイミングで処理を実行させる必要がある
ボタンを押させるか、
セルが変更されたタイミングで処理を実行させるか、これだったら
Changeイベント
http://www.eurus.dti.ne.jp/~yoneyama/Excel/vba/vba_event.html#change
が使えると思う
_:( _ ?ω`):_
http://i.imgur.com/Kvt743J.jpg
>>39
チェックボックスどうなってんだよ……
>>39
細いようだがE、F列は3行目じゃなかった?
>>41
(´>∀<`)ゝ
おつかれちゃん!
今度はc++の課題終わらせなきゃ!
では(・ω・)ノシ
乙ー
++にvbaとか大変だなー
プログラミングってなんなの?
「最も恐ろしいプログラミング言語」 5万人のプログラマが回答 1位はVisual Basic
面接官「Excel使えますか?」僕「VBAはもちろんCOMアドインの開発もできます!」
一年前俺「エクセルの表もろた」先輩「念のため電卓叩いとけ」
講談社
売り上げランキング: 743
元スレ VBAを勉強してるんだけどできない。
http://hayabusa.open2ch.net/test/read.cgi/news4vip/1467697935/
|
|
てかVBAで苦戦してるのにC++なんてできるもんなのか。いまだによくわからんわ。
入力チェックして、後は計算して出すだけ。
しいていうなら、ifelseで符合チェックするんじゃなくて、打ち込んだ文字列をdoubleに変換してそのまま計算できないもんかね?
ワークシート関数のIsNumberしときゃエラーおきないだろ
それでもOn Error GoToいれるけど。
else ifが多いとselectcaseのほうが読みやすい場合があるが、
ケースバイケースだな(なんちゃって
厳密にはVBAはプログラムではなくあくまでExcelやWordの付随機能のひとつでしかないからな
ちなみにプログラム業以外の一般的な職場ではVBAが一番役立ちC++は職場の環境やセキュリティで使えん
なので仕事に役立たせたい理由で勉強するならVBAのほうが断然おすすめ