
No.2ベストアンサー
- 回答日時:
こんな感じかな?
数値に小数が含まれるかどうか判らなかったのでDouble型にしてあります。
また、文字列等数値変換できないものが混じっていた場合(例:1,A,2)は、それを除いて合計しています。
Function Sample(aRange As Range) As Double
Dim vData, i
vData = Split(aRange.Value, ",")
For i = 0 To UBound(vData)
If IsNumeric(vData(i)) Then
Sample = Sample + CDbl(vData(i))
End If
Next i
End Function
No.3
- 回答日時:
標準モジュールにコピーしてご利用ください。
使い方:
ユーザー設定内の変数値をご自由に変更してご利用ください
※基本的にロジック部は触らなくても動くと思います。
※エラー処理は行っておりません。
※ユーザー設定の変数を引数とすれば関数にも利用可能です。
'---------- コピー(ここから)-----------------------------------------
Option Explicit
'====================================================================
' カンマ区切りのデータの合計値を算出する
'====================================================================
Public Sub calValues()
'変数宣言
Dim intTargetColNo As Long 'カンマ区切りデータ格納列No
Dim strData() As String 'カンマ区切りデータ格納用配列
Dim lngAnswer As Long 'カンマ区切りデータの合計値一次保存用
Dim i, j As Long 'For文用ループカウンタ
Dim lngWriteRowNo As Long '計算を開始する&合計値を書き込む行No
Dim lngEndRowNo As Long 'カンマ区切りデータの最終行No
Dim intWriteColNo As Integer '合計値を書き込む列No
Dim strSheetName As String '処理するシート名
'---------- ユーザー設定<始まり> ---------
'カンマ区切りのデータがある列No A列=1,B列=2・・・
intTargetColNo = 1
'合計値を書き込む列No A列=1,B列=2・・・
intWriteColNo = 2
'計算を開始する行No ヘッダーが有る場合=2, 無い場合=1
lngWriteRowNo = 1
'処理するシートの名前 ""で括って
strSheetName = "Sheet1"
'---------- ユーザー設定<終わり> ---------
'---------- ロジック部<始まり> -----------
'カンマ区切りデータの最終行を取得
lngEndRowNo = Worksheets(strSheetName).Cells(intTargetColNo, 1).End(xlDown).Row
'合計値の算出と書込み
For i = lngWriteRowNo To lngEndRowNo
'カンマ区切りデータを配列に格納
strData() = Split(Worksheets(strSheetName).Cells(i, intTargetColNo), _
",", , vbTextCompare)
'合計値の初期化
lngAnswer = 0
'合計値の算出
For j = LBound(strData) To UBound(strData)
lngAnswer = lngAnswer + CLng(strData(j))
Next j
'合計値を書き込む
Worksheets(strSheetName).Cells(lngWriteRowNo, intWriteColNo) = lngAnswer
'次の行へ移動
lngWriteRowNo = lngWriteRowNo + 1
Next i
'---------- ロジック部<終わり> -----------
End Sub
'---------- コピー(ここまで)-----------------------------------------
以上、ご参考までに・・・
No.1
- 回答日時:
function SumofCSV(strCSV) as long
dim a as variant
dim i as integer
SumofCSV = 0
a = split(strcst,",")
for i = 0 to ubound(a)-1
SumofCSV = SumofCSV + a(i)
next i
end function
見たいな感じ? 検証、エラー処理等をおこなってから使ってください。
有難うございます。
実は、自分も試しにつくってみたのですが、以下誤ったとこはありますでしょうか。
上の関数も試してみます。よろしくお願いします。
Function cellkei(myCell As String)
Dim myKei As Integer
Dim myBuf() As String
Dim i As Integer
myKei = 0
myBuf = Split(myCell, ",")
For i = 0 To UBound(myBuf)
myKei = myKei + myBuf(i)
Next i
cellkei = myKei
End Function
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) 数字にカンマを入れる方法 2 2022/04/12 11:52
- その他(Microsoft Office) Excelで時間計算(負) 8 2023/02/26 05:47
- Java javaのCSVデータ読込についてです 6 2022/07/02 10:58
- Excel(エクセル) 指定した数字まで累計する方法や文字例の抽出について教えてください 4 2022/10/05 21:19
- Excel(エクセル) 至急です><Excelの関数を教えてください。 2 2022/03/22 17:56
- Excel(エクセル) VBA オリジナル関数で選択セルの合計を作成したい 3 2023/03/19 19:45
- Excel(エクセル) CSVファイルがカンマ区切りにならない。対処法を教えていただきたいです。 仕事でSMS一斉送信ができ 2 2022/07/01 21:24
- Excel(エクセル) エクセルVBAでセルに表示されているとおりの数値を取得したい(時間の計算結果) 1 2022/03/30 17:52
- Visual Basic(VBA) Excel のユーザー定義関数でソルバーが動作しない 1 2022/09/05 19:51
- Excel(エクセル) エクセル・セルに数式を入力してセル指定計算 2 2023/04/21 12:46
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
vba クリップボードクリアにつ...
-
数学、プログラミング、物理、...
-
画像生成AIのプロンプトの作り...
-
Python... 環境設定 初心者です...
-
OS入ってる機器のソフト・アプ...
-
pip --versionがエラーになる
-
パイソンのソースコードをChatG...
-
pythonの実行に関する質問
-
Python 3.12.2 か一番最新のパ...
-
CSVファイルの複数行削除
-
Webサイト内に埋め込んだmp4動...
-
ExcelVBAでFormulaR1C1を列範囲...
-
Pythonのエラーメッセージをコ...
-
ネットワークフォルダの中身を...
-
Pythonで仮想通貨の自動売買が...
-
AIの登場でプログラマーたちが...
-
Google ColaboでGUI作成
-
Pythonについて。
-
HTMLソースが表示のページのも...
-
MOVEコマンドでサブフォルダー...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
vba クリップボードクリアにつ...
-
CSVファイルの複数行削除
-
OS入ってる機器のソフト・アプ...
-
Python 3.12.2 か一番最新のパ...
-
pythonの実行に関する質問
-
パイソンのソースコードをChatG...
-
画像生成AIのプロンプトの作り...
-
数学、プログラミング、物理、...
-
pip --versionがエラーになる
-
Google ColaboでGUI作成
-
Python... 環境設定 初心者です...
-
HTMLソースが表示のページのも...
-
ネットワークフォルダの中身を...
-
MOVEコマンドでサブフォルダー...
-
google Colabでmatplotlibの描...
-
VBAでパワーシェルを実行したい...
-
Pythonでの文字列からfloatへの...
-
Webサイト内に埋め込んだmp4動...
-
初心者powershellのPS1ファイル...
-
pythonについて(初心者です)
おすすめ情報