🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
VBA

VBAはオブジェクト指向プログラミング言語のひとつで、マクロを作成によりExcelなどのOffice業務を自動化することができます。

関数

関数(ファンクション・メソッド・サブルーチンとも呼ばれる)は、はプログラムのコードの一部であり、ある特定のタスクを処理するように設計されたものです。

Q&A

解決済

1回答

904閲覧

VBA データの抽出とシートへの書き出し

yama0131

総合スコア16

VBA

VBAはオブジェクト指向プログラミング言語のひとつで、マクロを作成によりExcelなどのOffice業務を自動化することができます。

関数

関数(ファンクション・メソッド・サブルーチンとも呼ばれる)は、はプログラムのコードの一部であり、ある特定のタスクを処理するように設計されたものです。

0グッド

0クリップ

投稿2019/09/19 09:27

VBAについてです。

ある列から3つの種類の値を抽出して、それぞれの行を3つのシートへ転記しようと考えています。

3つの値を 「0」 「10から始まる数」 「その他」 といった風に分類しようと思います。
その際に、IF文を使えば条件の分岐ができるとは思うのですが、「10から始まる数字」という分類がどう定義すればいいのかわかりません。

参考になるサイトなどあればぜひ教えて頂きたいです。
よろしくお願いいたします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

tatsu99

2019/09/19 09:51

3つの種類の値は、全て0以上の整数という前提で良いのですか。 それとも、-32とか3.5とかaaaとか等も含まれますか。
meg_

2019/09/19 10:17

正規表現はどうでしょうか? 「vba 正規表現」で検索すれば情報がたくさんあるはずです。
yama0131

2019/09/19 10:29

tatsu99さん 全て0以上の整数になります! meg_さん ありがとうございます!調べてみます!!!
guest

回答1

0

ベストアンサー

>「10から始まる数字」という分類がどう定義すればいいのかわかりません。
もっとも簡単なのが、文字列に変換して、先頭の2ケタが"10"かどうかで判定する方法です。
like演算子を使います。

以下は、数値が与えられら時、その分類を返す関数です。

VBA

1Option Explicit 2 3Sub 数値判定() 4 Debug.Print 1019, 分類(1019) 5 Debug.Print 1100, 分類(1100) 6 Debug.Print 10, 分類(10) 7 Debug.Print 13, 分類(13) 8 Debug.Print 0, 分類(0) 9End Sub 10 11'0の場合:0を返す 12'先頭が10の場合:1を返す 13'上記以外の場合:2を返す 14Private Function 分類(ByVal val As Long) As Long 15 Dim str As String 16 If val = 0 Then 17 分類 = 0 18 Exit Function 19 End If 20 '文字列に変換 21 str = CStr(val) 22 If str Like "10*" Then 23 分類 = 1 24 Exit Function 25 End If 26 分類 = 2 27End Function 28

実行結果

1019 1 1100 2 10 1 13 2 0 0

投稿2019/09/19 12:20

tatsu99

総合スコア5493

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

yama0131

2019/09/20 07:30

ありがとうございます! 無事10から始まる数を抽出できました!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.36%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問