titleicon VBAを勉強してるんだけどできない。

    2016/7/7
    categories カテゴリ IT・ガジェット

    hatena はてブ | twitter comment (19)
    url
    1 名無しさん@おーぷん 2016/07/05(火)14:52:15 ID:Xdc

    シートの”C2”に「値1」、”D2”に「値2」、”E3”に「演算方法」、を入力した値を元に”F3”に演算結果を出力するプログラムを作りなさい。
    「値1」、「値2」には数値を「演算方法」には”+”、”-”、”*”、”/”の記号を入力するもとします。
    可能であれば指定された値以外が入力された場合、エラーときてMsgboxで表示しなさい。
    詳しい人教えて

    2 名無しさん@おーぷん 2016/07/05(火)14:55:07 ID:CsS

    VBA使わなくても出来るじゃん


    プログラミングってなんなの?
    「最も恐ろしいプログラミング言語」 5万人のプログラマが回答 1位はVisual Basic
    面接官「Excel使えますか?」僕「VBAはもちろんCOMアドインの開発もできます!」
    一年前俺「エクセルの表もろた」先輩「念のため電卓叩いとけ」
    3 名無しさん@おーぷん 2016/07/05(火)14:57:17 ID:p1t

    マクロの記録→手動で目的の操作を行う

    で生成されたコードを参考にしたら

    5 名無しさん@おーぷん 2016/07/05(火)15:15:57 ID:XBQ

    var c2 = 2, d2 = 3, e3=['+', '-', '*', '/'];
    console.log(eval(c2+e3[0]+d2));

    JavaScriptで無理矢理書くとこんなかんじ

    6 名無しさん@おーぷん 2016/07/05(火)15:16:30 ID:Xdc

    あ、ちなみに
    Excelのvbでやってる

    8 名無しさん@おーぷん 2016/07/05(火)15:17:24 ID:XBQ

    >>6
    すまん、Excelが手元に無いんだ

    9 TimeFires◆BFU2tXFOi7w3 2016/07/05(火)15:18:01 ID:9ls

    >>8
    フリーのOpenOfficeのマクロってVBAとは別モンだっけ?

    12 名無しさん@おーぷん 2016/07/05(火)15:20:21 ID:XBQ

    >>9
    使ったことないけど、やっぱり移行しやすいように似せてあるみたいね

    「OpenOffice.org Basicは、基本的に文法がVBA (Visual Basic for Applications)と同じである。」
    http://itref.fc2web.com/openoffice/basic/#vb

    11 名無しさん@おーぷん 2016/07/05(火)15:19:47 ID:Xdc

    >>8
    ありがとう、これはこれで
    勉強になる

    13 TimeFires◆BFU2tXFOi7w3 2016/07/05(火)15:22:06 ID:9ls

    >>11
    if やら select caseは使っちゃダメなの?

    14 名無しさん@おーぷん 2016/07/05(火)15:23:35 ID:Xdc

    >>13
    いいと思うん

    15 名無しさん@おーぷん 2016/07/05(火)15:24:47 ID:XBQ

    >>11
    エクセルのセルの値の型がわからないのだけど、
    javascriptでは 一旦文字列で式を作ってevalで実行してる。混乱しがちだと思うので注意
    eval(c2+e3[0]+d2)

    eval('2+3')に展開されている

    17 TimeFires◆BFU2tXFOi7w3 2016/07/05(火)15:26:44 ID:9ls

    >>15
    へー、すげえ。そんなことできるんだ

    18 名無しさん@おーぷん 2016/07/05(火)15:28:10 ID:MFP

    >>15
    VBAだと、式作ってセルに計算式として渡して計算させるってのは出来た筈。

    16 名無しさん@おーぷん 2016/07/05(火)15:26:29 ID:MFP

    演算方法の値で分岐させればよろし

    22 名無しさん@おーぷん 2016/07/05(火)15:37:52 ID:XBQ

    Exelつかったことないんだが
    もしエラーメッセージまで実装するなら
    TYPE
    https://support.office.com/ja-jp/article/TYPE-%E9%A2%E6%B0-45b4e688-4bc3-48b3-a105-ffa892995899
    で型が調べられるみたいだから、これ使って数値と文字列とそれ以外を場合分けすればいいかな
    演算子はぜんぶ文字列になっちゃうから、個別に判定を

    23 TimeFires◆BFU2tXFOi7w3 2016/07/05(火)15:39:29 ID:9ls

    >>22
    VBAにtry catchとかiferrorがあればevaluteをそれで挟めばいいかなと思った

    26 名無しさん@おーぷん 2016/07/05(火)15:43:06 ID:XBQ

    >>23
    ぐぐったら残念なことにVBAに例外はないらしいです。
    かわりにOn Errorステートメントというのをつかうしい
    >>25
    おお、よかった

    24 名無しさん@おーぷん 2016/07/05(火)15:39:43 ID:p1t

    http://i.imgur.com/hBcqVZ4.jpghBcqVZ4

    27 TimeFires◆BFU2tXFOi7w3 2016/07/05(火)15:43:44 ID:9ls

    >>24
    ifelseのごり押しで草

    31 名無しさん@おーぷん 2016/07/05(火)15:47:57 ID:p1t

    >>27
    すまんな、気の利いたコードが書けなくて

    32 TimeFires◆BFU2tXFOi7w3 2016/07/05(火)15:53:57 ID:9ls

    >>31
    いやむしろその執念に感服するわ
    elseif連続で使ってたらあたしは混乱する(´・ω・`)

    35 名無しさん@おーぷん 2016/07/05(火)15:59:04 ID:p1t

    >>32
    多分、.NETならIf使わず全体をTryキャッチで囲んで
    キャッチ節で例外のメッセージ表示して終わると思うTryは偉大

    36 名無しさん@おーぷん 2016/07/05(火)16:02:25 ID:Xdc

    >>35
    あ……(´・ω・`)
    あ、それとオプションボタンで +*-/を選択できるようにつーのも
    書いてありやした……ので色々と
    改良しやすん

    37 名無しさん@おーぷん 2016/07/05(火)16:05:53 ID:p1t

    >>36
    がんばれー、あともうちょい

    25 名無しさん@おーぷん 2016/07/05(火)15:42:36 ID:Xdc

    あ、できそうです

    38 名無しさん@おーぷん 2016/07/05(火)16:07:29 ID:XBQ

    セルの値だと、どこかのタイミングで処理を実行させる必要がある
    ボタンを押させるか、
    セルが変更されたタイミングで処理を実行させるか、これだったら
    Changeイベント
    http://www.eurus.dti.ne.jp/~yoneyama/Excel/vba/vba_event.html#change
    が使えると思う

    39 名無しさん@おーぷん 2016/07/05(火)16:08:24 ID:Xdc

    _:( _ ?ω`):_
    http://i.imgur.com/Kvt743J.jpg

    40 TimeFires◆BFU2tXFOi7w3 2016/07/05(火)16:09:32 ID:9ls

    >>39
    チェックボックスどうなってんだよ……

    41 名無しさん@おーぷん 2016/07/05(火)16:10:32 ID:p1t

    >>39
    細いようだがE、F列は3行目じゃなかった?

    42 名無しさん@おーぷん 2016/07/05(火)16:13:42 ID:Xdc

    >>41
    (´>∀<`)ゝ

    44 名無しさん@おーぷん 2016/07/05(火)16:20:59 ID:p1t

    おつかれちゃん!

    46 名無しさん@おーぷん 2016/07/05(火)16:22:09 ID:Xdc

    今度はc++の課題終わらせなきゃ!
    では(・ω・)ノシ

    47 TimeFires◆BFU2tXFOi7w3 2016/07/05(火)16:22:31 ID:9ls

    乙ー
    ++にvbaとか大変だなー


    プログラミングってなんなの?
    「最も恐ろしいプログラミング言語」 5万人のプログラマが回答 1位はVisual Basic
    面接官「Excel使えますか?」僕「VBAはもちろんCOMアドインの開発もできます!」
    一年前俺「エクセルの表もろた」先輩「念のため電卓叩いとけ」

    元スレ VBAを勉強してるんだけどできない。
    http://hayabusa.open2ch.net/test/read.cgi/news4vip/1467697935/


    ★お勧め記事
      ★コメント
      ※1 2016年07月07日 19:12 ▼このコメントに返信
      コードきたね〜
      ※2 2016年07月07日 19:37 ▼このコメントに返信
      >>24だと小数点の無い整数いれたときにもエラーになるんじゃねえの
      ※3 2016年07月07日 19:38 ▼このコメントに返信
      なんだかおもしろそう。畑違いだけど勉強してみたい。
      ※4 2016年07月07日 19:53 ▼このコメントに返信
      C++とVBAを同時進行ってどんなカリキュラムでやってんだ?
      ※5 2016年07月07日 19:56 ▼このコメントに返信
      アドバンスできるやつじゃないの?
      ※6 2016年07月07日 19:58 ▼このコメントに返信
      職場にもいるんだけど Dim a,b As doubleって aはバリアントになってね?わざと?
      てかVBAで苦戦してるのにC++なんてできるもんなのか。いまだによくわからんわ。
      ※7 2016年07月07日 20:23 ▼このコメントに返信
      全体をとりあえずtry catchで囲めばいいってこれが無能プログラマなのか
      例外に頼るなよ
      ※8 2016年07月07日 20:26 ▼このコメントに返信
      まあ24でOKでしょ。
      入力チェックして、後は計算して出すだけ。

      しいていうなら、ifelseで符合チェックするんじゃなくて、打ち込んだ文字列をdoubleに変換してそのまま計算できないもんかね?
      ※9 2016年07月07日 20:26 ▼このコメントに返信
      ※6
      それは俺も思ったけど、
      バリアントにしとかないと文字列がセルに入ってる時点で
      エラーになるからいいんじゃないの
      ※10 2016年07月07日 20:54 ▼このコメントに返信
      最初にIsNumericでセルの値判定または
      ワークシート関数のIsNumberしときゃエラーおきないだろ
      それでもOn Error GoToいれるけど。
      else ifが多いとselectcaseのほうが読みやすい場合があるが、
      ケースバイケースだな(なんちゃって
      ※11 2016年07月07日 21:21 ▼このコメントに返信
      レベル低すぎてなんだか泣ける
      ※12 2016年07月07日 21:54 ▼このコメントに返信
      あきらめなければ、そのうちわかるさ
      ※13 2016年07月07日 22:01 ▼このコメントに返信
      select文使おうや…
      ※14 2016年07月07日 23:46 ▼このコメントに返信
      VBAとC++は方向性が違うから別枠で勉強が必要=同時に勉強もありだよ
      厳密にはVBAはプログラムではなくあくまでExcelやWordの付随機能のひとつでしかないからな

      ちなみにプログラム業以外の一般的な職場ではVBAが一番役立ちC++は職場の環境やセキュリティで使えん
      なので仕事に役立たせたい理由で勉強するならVBAのほうが断然おすすめ
      ※15 2016年07月08日 00:26 ▼このコメントに返信
      なんだかんだでみんな親切で草
      ※16 2016年07月08日 00:36 ▼このコメントに返信
      コマンドラインで実行するツールを作っても仮にそれをGUIにしても
      「MS officeじゃないと(しか)わからん」って人がほとんどだから
      インターフェイスはExcelVBAで作ってる
      だからVBAで知ってるのはボタンやファイルセレクトくらい
      ※17 2016年07月08日 01:41 ▼このコメントに返信
      入力された演算子をそのまま計算式には使えないの?やっぱセレクトなりifなりで判定させないとダメ?
      ※18 2016年07月08日 01:43 ▼このコメントに返信
      意外と、VBAがっつり(プラスコミュ力)で年収500は固かったりする。
      ※19 2016年07月08日 23:26 ▼このコメントに返信
      今の中学でもVBAやhtmlやってんの?
      名前 ←空白だと投稿できません。

      ※「>>154」で本文、「※24」でコメント欄にポップアップ表示の安価ができます。
      ※スパム対策のため「http」を禁止ワードにしています。URLの書き込みは「ttp://~」でお願いします。
      2016/7/7
      categories カテゴリ IT・ガジェット

      hatena はてブ | twitter comment (19) |

      更新を通知!

      更新を通知
      Googleリーダーに登録
      お使いのリーダーに登録
      記事検索
      月別アーカイブ
      スポンサードリンク

      アクセスランキング

      このブログにたくさんアクセスを下さっているサイトのランキングです。3日分の集計です。
      全ランキング
      全ランキング(30日集計版)
      置換依頼はメールフォームよりどうぞ
      当ブログにリンクするだけで自動的に表示されます(どのページでもOK)。 ランクインしているのにRSSに登録されていない場合はご連絡ください。
      ブログパーツ ブログパーツ ブログパーツ アクセスランキング アクセスランキング

      Rakuten オススメ

      スポンサードリンク