Excel VBA 質問スレッド №2086 (未解決)

EXCELに文字列として入力されている数字をVBAでsumif集計するには

投稿者 : 雛     投稿日時 : 2025/02/21(Fri) 17:31:15     OS : Windows 10     EXCEL : Excel 2013
システムからEXCEL形式でダウンロードしたデータに集計作業をする際、なぜか集計結果が0となってしまい、よく確認してみると、元のシステムの都合か文字列型になっているようでした。
この場合、集計するにはどのようにすればいいでしょうか。
最終行までループさせて型変換しながら他のセルにコピーしたものに対して集計するという方法は考えつきますが、もう少し簡単な方法は無いかと思案しています。

スポンサーリンク
[返信 1] Re : EXCELに文字列として入力されている数字をVBAでsumif集計するには
投稿者 : higeru     投稿日時 : 2025/02/21(Fri) 17:40:52
> 元のシステムの都合か文字列型になっているようでした。

 それは見た目が左寄せになっていて、F2→Enter で右寄せの数値になるのではないでしょうか。

 ということであれば以下でよいかも。

ActiveSheet.UsedRange.Value = ActiveSheet.UsedRange.Value

[返信 2] Re : EXCELに文字列として入力されている数字をVBAでsumif集計するには
投稿者 : ピロリ     投稿日時 : 2025/02/21(Fri) 19:27:24
どこに、どんな値や式が入力されているのか分かりませんが、↓のような感じでは駄目ですかね?

Sub Sample()
    Dim rng As Variant
    
    With ActiveSheet.UsedRange
        rng = .Formula                  '式や値を一旦退避し、
        .NumberFormatLocal = "G/標準"   '書式を「標準」に変えて、
        .Formula = rng                  '式や値を戻す
    End With
End Sub

当掲示板について
  • Excel VBA に関する掲示板です。Excel VBA に関する質問や疑問、それに対する解決方法など気軽に投稿してください。
  • 記事内ではHTMLのタグは使用できません。
  • 記事は一度投稿すると修正できません。内容を訂正したい場合は返信で対応してください。
  • Sub〜End Sub、Function〜End Function は自動的にプログラムコードとみなし、枠で囲って見やすくします。
  • Excel VBA とは関係ないことや、他人が不快に思うようなことなど、管理人が適当でないと判断した記事は削除する場合があります。
スポンサーリンク
返信入力フォーム
お 名 前  :
内  容   :

ステータス  :

認証コード  : キャプチャ画像 




( 処理日時 : 2025-07-05 18:24:00 )
タイトルとURLをコピーしました