- ベストアンサー
エクセルのマクロ 並んだ数字の幾つかを抜き出してその合計を計算させたいのですが・・
エクセルのマクロ(VBA)について、教えてください。 セルのA1からA2・・・A1000までに「01,03,06,08,20,」のように5つの数字がカンマで区切られて入力されています。 1.この5つの数字をb.c.d.e.f.の1から1000のそれぞれのセルに配置するマクロ 2.この5つの数字の数字の合計をb1から1000のセルに表示させるマクロは難しいでしょうか? MID関数をひとつづつのセルに入れていたのですが、マクロでできれば効率が良いと思い手引書等で考えたのですがよく分からないのです。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
その程度であれば敢えてマクロにする必要が無ければエクセルの機能でできます。 1.メニューバーの「データ」> 「区切り位置」で区切り文字を「,」にしてください。 2.1の結果がA列からE列に入るのでF列にA列からE列の合計を、関数で表示すればOK。
その他の回答 (2)
- hotosys
- ベストアンサー率67% (97/143)
Sub sample1() Dim r As Integer For r = 2 To 1000 Range(Cells(r, 2), Cells(r, 6)) = Split(Cells(r, 1), ",") 'Range(Cells(r, 2), Cells(r, 6)) = Split(Cells(r, 1), ",") '質問の区切りカンマが全角なのでその場合はこっち Next End Sub Sub sample2() Dim d() As String Dim r As Integer Dim i As Integer For r = 2 To 1000 d = Split(Cells(r, 1), ",") 'd = Split(Cells(r, 1), ",") '質問の区切りカンマが全角なのでその場合はこっち Cells(r, 2) = 0 For i = 0 To UBound(d) 'または For i = 0 To 4 Cells(r, 2) = Cells(r, 2) + Val(d(i)) Next Next End Sub
- sayop
- ベストアンサー率34% (17/49)
>1.この5つの数字をb.c.d.e.f.の1から1000のそれぞれのセルに配置 b列=03 >2.この5つの数字の数字の合計をb1から1000のセルに表示 b列=合計 b列を書き換えるのですか?
補足
上手く説明できず申し訳ありません。 1.と2.は、別の質問とご理解ください。 1.a1[01.03.06.08.20] b1[01]c1[03]d1[06]e1[08] f1[20] a2[04.08.15.21.36] b2[04]c2[08]d2[15]e2[21] f2[36] と表示したいものと、 2.a1[01.03.06.08.20] b1[38] a2[04.08.15.21.36] b2[84] と合計のみ表示したい場合です。