非表示にできる< 目次 >
はじめに
EXCEL VBAでIE(InternetExploer)を制御する際に役に立つコードについて触れようと思います。
本ブログ記事は、Crowd Works で納品まで行い、実際にお金になったコードを元に紹介します。
本記事でできること
EXCEL-VBAにおけるDOM(Document Object Model)でのブラウザ制御などで格納したString変数から、
文字列から数字のみを抽出することができます。
今回はFunction〜End Functionとしての紹介ですが、
後述にSub〜End Sub内でのFunctionの使い方についても触れております。
参考:別記事
逆に、文字列から「数字」のみを削除したい場合は、こちらの記事を参照ください。
-
【解説付】EXCEL-VBAで文字列から数字を除外する方法
続きを見る
コード(解説はコード内のコメント)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
'******************************************************************* '* numExtract '* 数字のみ抽出 '* 引数: StringValue:数字のみ抽出したい対象文字列(String) '****************************************************************** Function numExtract(StringValue As String) As String '変数の準備 Dim i As Integer Dim numText As String 'Len で文字数が分かる = 1 to 文字列(最終文字)まで For Nextで影響させる。 For i = 1 To Len(StringValue) 'Midで文字列を左から順にnumTextに格納 numText = Mid(StringValue, i, 1) 'もしnumText[0-9]に該当する場合 変数numExtractに格納していく If numText Like "[0-9]" Then: numExtract = numExtract & numText Next i End Function |
実際の使用方法
上記で挙げたコードは、Funcitonコードのため、
VBAで実際に使用するためには Sub 〜 End Sub 内で記載してあげる必要があります。
それが↓こんな感じ。
1 2 3 4 5 6 7 8 9 10 11 12 13 |
Sub 抽出してみる() Dim wb1 As Worksheet '適当にwb1 に格納 Set wb1 = ActiveWorkbook.Worksheets("Sheet1") 'Functionで作成したnumExtractを呼び出す方法。 'これにより Cells(1,1)=A1セルの 文字列から 数字のみを抽出できる wb1.Cells(1, 1) = numExtract(wb1.Cells(1, 1)) End Sub |
あんまりピンとこないかもしれませんので、スクリーンショットを撮ってみました。
こちらを眺めてもらえれば、理解が深まるかなと。
おわりに
いかがでしたでしょうか。
今後も 便利なコードについて紹介していこうと思います。
末筆とはなりますが、ここまでの長文をお読みいただきありがとうございました。
本記事の読者の悩みが少しでも解消できたのあれば、筆者としては結構ハッピーです。
今後とも、有益な情報を発信してまいりますので、NakamuraBlog(ナカログ)をよろしくおねがいします。
でわでわ。
ちょっとだけ宣伝
プログラミング学習(全般)における間違えない学習方法を理由を含めて説明した記事がございます。
当然 無料ですので、学習方法において不安に感じている方がいらっしゃれば 是非ご覧くださいませ。