Created
October 31, 2020 05:13
-
-
Save KotorinChunChun/1759f2b696d51a9dea820c7e6636e1cf to your computer and use it in GitHub Desktop.
選択中のセルの化学式の書式を整えるVBAマクロ
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Rem 選択中のセルの化学式の書式を整えるVBAマクロ | |
Sub 選択範囲の化学式の書式を整える() | |
Dim MyRange As Range | |
Dim i As Integer | |
Dim s2 As String, s3 As String | |
Dim PHflg As Boolean | |
For Each MyRange In Selection | |
For i = 2 To Len(MyRange.Text) | |
s2 = Mid(MyRange.Text, i - 1, 2) | |
If i >= 3 Then s3 = Mid(MyRange.Text, i - 2, 2) | |
If s2 Like "[A-z]?" Then PHflg = False | |
If s3 = "pH" Or Left(s3, 1) = ")" Then PHflg = True | |
If (s2 Like "[A-z][0-9]" Or s2 Like "[0-9][0-9]" Or s2 Like ")[0-9]") And Not PHflg Then | |
MyRange.Characters(Start:=i, Length:=1).Font.Subscript = True | |
End If | |
Next | |
Next | |
End Sub |
テスト用文字列
C16H8N2Na2O8S2
Mg(NO3)2・6H2O
2Mg(NO3)2・6H2OpH4.01Mg(NO3)2・6H2O
2Mg(NO3)2・6H2OpH4.01 2Mg(NO3)2・6H2O
pH4.01
2Mg(NO3)2・6H2OpH4.01 2Mg(NO3)2・6H2O pH4.01
参考文献
このマクロは下記の質問サイトで私が答えた時のもの。
もう一名の方は正規表現で実装されており、こちらも興味深い。
『化学式の数値を一括で下付きにしたいです。』(たなか)
http://www.excel.studio-kazu.jp/kw/20181024103531.html
『化学式の数値を一括で下付き 新しい条件』(たなか)
http://www.excel.studio-kazu.jp/kw/20181109170313.html
『化学式の数値を一括でweb用に』(たなか)
http://www.excel.studio-kazu.jp/kw/20190124143337.html
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
化学式を解読し適切な箇所の数字に下付き文字の書式を適用します。
例