質問をすることでしか得られない、回答やアドバイスがある。

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

新規登録して質問してみよう
ただいま回答率
85.31%
VBA

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

Q&A

解決済

2回答

3993閲覧

VBA:列ごとに確認し、数値に変換できる文字列は数値に変換したい

退会済みユーザー

退会済みユーザー

総合スコア0

VBA

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

0グッド

0クリップ

投稿2022/05/30 03:22

編集2022/05/30 04:47

実現したいこと

列ごとに文字列と数値が混在しています。(同じ列に混在している事はないです。また最大で20列までとなります。)
ですが、書式上は数値も文字列として出力されてしまいます。
※セルの左上に緑のマークと該当セルを選択時に感嘆符が表示され『数値が文字列として保存されています』と表示される

それを数値に変換したいです。
ただし、他文字列はそのままでお願いします。

・シートイメージ
イメージ説明

https://www.tipsfound.com/vba/04004#:~:text=i)%20%27%201.5-,CInt%20%E9%96%A2%E6%95%B0,-%E3%81%93%E3%81%AE%E6%96%B9%E6%B3%95%E3%81%AF
上記を参考にしたのですが、自身で対応できずご教授いただければ幸いです。

該当のソースコード

VBA

1Dim s As String 2 s = "123あいう" 3 4Dim i As Integer 5 6 If IsNumeric(s) = True Then ' 変換できるときだけ数値にする 7 i = CInt(s) 8 Else 9 i = 0 10 End If 11 12Debug.Print(i)

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

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

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

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

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

tatsu99

2022/05/30 04:34

シートのレイアウトはどうなってますか。画像で提示していただけませんでしょうか。 数値はすべて整数なのでしょうか。数値に変える場合、書式設定も変えないとだめかと思います。
退会済みユーザー

退会済みユーザー

2022/05/30 04:49

ご確認ありがとうございます。 画像を追加いたしました。 数値は整数となります。 ※画像は規則性のある数値を入力していますが、実際は会員番号のため全て異なります。
guest

回答2

0

ベストアンサー

下記でどうでしょう。

列ごとに、区切り位置の機能で数値に変換して、セル書式を数値に設定。

vba

1Sub Sample() 2 Dim Rng As Range 3 4 For Each Rng In Cells(1, 1).CurrentRegion.Offset(1).Columns 5 If IsNumeric(Rng.Cells(1)) Then 6 Rng.TextToColumns Comma:=True 7 Rng.NumberFormatLocal = "0_ " 8 End If 9 Next 10End Sub

投稿2022/05/30 05:02

hatena19

総合スコア34345

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

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

退会済みユーザー

退会済みユーザー

2022/05/30 05:54

ありがとうございます。 いただいた内容で問題なく対応できました。
guest

0

これでどうでしょうか。

VBA

1Sub 数値変換処理() 2 Dim rng As Range 3 Dim r As Range 4 Set rng = Range("A1").CurrentRegion 5 For Each r In rng 6 If IsNumeric(r.Value) = True And r.PrefixCharacter = "'" Then 7 r.Value = r.Value 8 End If 9 Next 10End Sub 11 12

投稿2022/05/30 05:29

tatsu99

総合スコア5533

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

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

退会済みユーザー

退会済みユーザー

2022/05/30 05:55

こちらありがとうございます。 今後の参考にさせていただきます。 また何かあった際はよろしくお願いいたします。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.31%

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

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

質問する

関連した質問