• 締切済み

分子量を求めるマクロ

はじめまして。Visual Basic を大学で始めたばかりですごく難しいです。 わからないマクロがあるので教えていただけないでしょうか? 「分子式をセルに入力しておき、その分子量を計算し出力するマクロ」 ただし、計算に用いる原子量については、H列に元素記号、I列に原子量が順次降順に 並べられているものとする。分子量が0の分子式を読み込んだときにマクロが終了する ものとし、計算した分子量はF列に出力するものとする。このとき全部の元素について 計算できなくても良いものとし・・・・の計X種類の元素について計算できるようにする。 よろしくお願いします。

  • 科学
  • 回答数1
  • ありがとう数0

みんなの回答

  • metalic
  • ベストアンサー率43% (110/254)
回答No.1

昔、VBではありませんが同じようなプログラムを作ったことがあります。 「分子式をセルに入力しておき」 これがどう入力されているかですが、 もしひとつのセルに普通の表現形式でそのまま入っているとそこが面倒ですね。 それをどういう形式にするか決めないとプログラムできません。 例 NaHCO3 まずこの文字列を頭から眺め、対象元素の中で二文字一致するものを探す。 この場合Naが一致(一致しない場合、一文字一致を探し Nを検出) 次の文字を見て数字でなければ 1 が略されているものとして Naの原子量の1倍を加算。 以下、次の文字から繰り返し しかし Ca(OH)2 みたいな式もできるようにするには、もっと複雑になります。 VBを始めたばかりの人には難しい課題なような気がします。 A-Eセルはどう使うことになってますか? 例えば Aに元素1、Bにその数、Cに元素2、Dにその数 みたいな入力法でしたら、(2元素までしかできませんが)あとは単純ですが..。

関連するQ&A

  • 分子量

    水分子には水素原子と酸素原子のどの同位体からなるかで何種類か考えられますが、水素元素と酸素元素の平均原子量をもとにした水の分子量と、(存在しうる水分子の相対質量)×(その存在比) を足し合わせたものとは厳密に一致するのでしょうか? また一般の化合物に関してはどうなるのでしょうか?

  • VBA:セルに書かれた文字を隣のセルの名前に

    原子量の値のセルに名前をつけたいのです。すると例えばH2Oの分子量は_H*2+_Oとかで出すことができます。添付のようにE列に名前が入っていて,F列に原子量が入っています。F列のそれぞれのセルの名前をE列に書かれた文字列にしたいのです(例えばF3には_Heという名前をつけてあります。全ての原子についてこのようにしたいのです)。全部の原子について名前を定義するのは面倒なので,マクロでやりたいのです。マクロの記録でやってみたら,クリップボードに入っている具体的な値が記録されてしまい,うまく行きませんでした。  よろしくアドバイスをお願いします。

  • 原子と分子って?

    単原子分子は1つの原子からなる分子のことである。とあったんですがそもそも原子って言うのは何ですか?元素記号の左にある質量数の下のやつのことですか?分子って言うのは一つ以上からなる物質とあったんですが、ますます意味が分かりません。 簡単に言っちゃえば原子がHやHe,S,Oといった何時の原子で分子がH2OやNH3などといったほかの物質と物質が合わさったものを言うんでしょうか? どなたか分かりやすく説明してください。お願いします。

  • 超高分子量ポリエチレンの分子量

    超高分子量ポリエチレンの分子量に関して混乱しています 医学部では超高分子量ポリエチレンの分子量は分子鎖の長さを表すと習いました つまり、分子量が100万と500万では500万の方が5倍分子鎖が長いことになります これは正しいでしょうか? また、分子量が500万の超高分子量ポリエチレンにはC、H原子は何個入っているのでしょうか? どなたかご教授お願い致します

  • 分子量

    原子量は「その元素の同位体の相対質量と存在比をかけたものをすべての同位体の分足したもの」ですが、分子量も同じように「相対質量×存在比を考えられる同位体の組み合わせの分すべてたしたもの」とすべきですか?

  • 分子量

    水素やヘリウム、アルゴンなどの分子量はよく教科書にも書いてあるのですが(H:1、He:4.00、Ar:39.95)、 これが1価や2価のイオンになったときの分子量はいくつになるのでしょうか? 計算方法または、その値がまとめてある本やサイトなどがありましたら教えていただけないでしょうか?

  • 高1化学でわからないのです。例えばmolとか分子量とか。

    ・元素と原子の区別。 ・イオンでマイナスかプラスかの見分け方。電子が動けば~というのはわかるような気もするのですが、周期表からどうやって見分けるのでしょうか。それとも覚えるものなのでしょうか。でも、どうして硫酸イオンがSO(2-/4)とわかるのでしょう。 ・陽子や電子が電気を持っていて、その1.60×10(-19)クーロンというのがわかりません。クーロン、電気素量ってなんですか? ・同位体(アイソトープ)というものがよくわかりません。(12)Cというものでアボガドロ数ででてくるんですけれど、まず同位体から判らないのです。 ・組成式、分子式、イオン式、元素記号は化学式というひとまとまりに分けられるそうですが、そもそも化学式ってなんですか? 組成式とイオン式の区別もわかりません。 ・イオン結晶の特徴で『硬くもろい』とありますが、どういうことなのですか? ・周期表の『ランタノイド』や『アクチノイド』とは何ですか?何故一杯そこに入ってくるのですか?同位体ではないのですか? ・分子量と式量ってどう違うんでしょうか。それぞれの意味って一体なんですか? ・原子量の『(12)Cの重さを12と決める』ということは、どう言う意味ですか? グラムではないのだそうですし、何故同位体の炭素を使うのでしょうか。 ・molがよくわかりません。全部。計算も理解できないのです。 ・アボガドロ数の6.20×10(23)はどう見ればいいですか?何故、(12)Cを12gとしたのですか? 化学の、こういったところで躓いてしまいました。 このかっこ→()では小さい数字を表しています。指標とか。(○/□)○の方がイオンの2-とかで、□の方が何個とかの。アンモニウムイオンならNH(+/4)という感じ。 わかりにくってごめんなさい。 たくさん質問してしまいましたが、どれか一つだけでも教えてくださると嬉しいです。よろしくお願いします。

  • 分子量測定で答えが合わない

    炭素、水素、酸素だけからなる液体の化合物Aがある。 Aは中性物質で、夫斉炭素原子をもつ。Aを5.5mg取り、完全に燃焼させたところ、 13.2mgの二酸化炭素と、6.75mgの水が生成した。 また、分子量測定の実験を行ったところ、 Aの分子量は74であることが分かった。 Aに水酸化ナトリウムで塩基性にしたヨウ素溶液を加えて加熱すると 黄色の結晶Xが析出する。 Aは金属ナトリウムと反応して水素を発生する。 以上から、Aの分子式を求めよ。 自分で考えますと Cの原子量=13.2*(12/44)=1.2mg Hの原子量=6.75*(2/18)=0.75mg Oの原子量=5.55-1.2-0.75=3.6mg C:H:O=1.2/12:0.75/1:3.6/16=0.1:0.75:0.225 一番小さい0.775で割ってC:H:O=4.4444..*3.3333...:1 以上から、C4H3Oかと思ったんですがこの組成式を文士式にうまく変えることができません。 Aの分子量と合わないんです。 いったいどこで間違えているのでしょうか? 教えてください。 おねがいします。

  • 分子量及び原子量で体積を求める

    題目ように分子量及び原子量を使って 体積を計算することができますか? 例えば 10H2O 10モルのH2O分子は 18g/mol x 10mol は180gですが ボリューム(体積ccとかm3)を求め方を知りたいです。どうぞよろしくお願いいたします

  • 化学式について

    元素記号についてです。結合の手というものを原子は持っていますよね。だから酢酸の分子は炭素原子2こ、水素原子4こ、酸素原子2こで出来ていますが、様々な形がありますよね。そして、これらの原子がCH3COOHの形で並ぶ時、酢酸になるそうですね。 つまりCが4こ、Hが8この並び方は全部で4つですね。 ではCが6こ、Hが10こある場合の並び方は全部でいくつありますか? 宿題なのですが分かりません。よろしくお願いします。