• 締切済み

分子量を求めるマクロ

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

みんなの回答

  • 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