質問です

エクセルで以前似たような質問でしたが
B列が6桁のアルファベットと数字の組み合わせの記号で
D列F列に数字の1があります。
それぞれ右側のC列E列G列にB列の同じ記号のその数の合計を表示
するマクロをお願いします。合計もありです。

A列       B列   C列   D列  E列   F列  G列      
2001/4/1   3AVZ1L       1       1
2001/4/1   3AVZ1L       1       1
2001/4/1   3AVZ1L       1       1
2001/4/1   3AV2ZL       1       1
2001/4/1   3AV2ZL       1       1
2001/4/1   3AV2ZL       1       1
2001/4/2   3AV2ZL       1       1

結果は下記
2001/4/1   3AVZ1L       1       1
2001/4/1   3AVZ1L       1       1
2001/4/1   3AVZ1L   3    1   3   1  3
2001/4/1   3AV2ZL       1       1
2001/4/1   3AV2ZL       1       1
2001/4/1   3AV2ZL       1       1
2001/4/2   3AV2ZL   4    1   4    1   4

回答の条件
  • 1人5回まで
  • 13歳以上
  • 登録:2011/04/06 23:08:29
  • 終了:2011/04/09 10:15:25

ベストアンサー

id:SALINGER No.2

SALINGER回答回数3454ベストアンサー獲得回数9692011/04/08 19:02:19

ポイント55pt
Sub Macro()
    Dim i As Long
    Dim lastRow As Long
    Dim count As Long
    Dim countD As Long
    Dim countF As Long
    
    lastRow = Cells(Rows.count, "B").End(xlUp).Row
    
    count = 0
    countD = 0
    countF = 0
    For i = 1 To lastRow
        count = count + 1
        If Cells(i, "D").Value = 1 Then
            countD = countD + 1
        End If
        If Cells(i, "F").Value = 1 Then
            countF = countF + 1
        End If
        If Cells(i, "B").Value <> Cells(i + 1, "B").Value Then
            Cells(i, "C").Value = count
            Cells(i, "E").Value = countD
            Cells(i, "G").Value = countF
            count = 0
            countD = 0
            countF = 0
        End If
    Next i
End Sub
id:inosisi4141

ありがとうございました。

完璧です。

2011/04/09 10:13:32

その他の回答(1件)

id:SALINGER No.1

SALINGER回答回数3454ベストアンサー獲得回数9692011/04/06 23:45:04

ポイント15pt

データが1行目からならば。

Sub Macro()
    Dim i As Long
    Dim lastRow As Long
    Dim count As Long
    
    lastRow = Cells(Rows.count, "B").End(xlUp).Row
    
    count = 1
    For i = 1 To lastRow
        If Cells(i, "B").Value = Cells(i + 1, "B").Value Then
            count = count + 1
        Else
            Cells(i, "C").Value = count
            Cells(i, "E").Value = count
            Cells(i, "G").Value = count
            count = 1
        End If
    Next i
End Sub
id:inosisi4141

質問の仕方が悪かったみたいです。

A列       B列  C列 D列 E列F列 G列      

2001/4/1   3AVZ1L    1   1

2001/4/1   3AVZ1L        1

2001/4/1   3AVZ1L    1   1

2001/4/1   1AV2ZL        1

2001/4/1   1AV2ZL    1   1

2001/4/1   1AV2ZL       

2001/4/2   1AV2ZL    1   1

結果は下記

2001/4/1   3AVZ1L     1    1

2001/4/1   3AVZ1L          1

2001/4/1   3AVZ1L  3  1 2   1 3

2001/4/1   3AV2ZL         1

2001/4/1   3AV2ZL     1    1

2001/4/1   3AV2ZL         

2001/4/2   3AV2ZL  4  1 2  1 3

2011/04/08 18:35:10
id:SALINGER No.2

SALINGER回答回数3454ベストアンサー獲得回数9692011/04/08 19:02:19ここでベストアンサー

ポイント55pt
Sub Macro()
    Dim i As Long
    Dim lastRow As Long
    Dim count As Long
    Dim countD As Long
    Dim countF As Long
    
    lastRow = Cells(Rows.count, "B").End(xlUp).Row
    
    count = 0
    countD = 0
    countF = 0
    For i = 1 To lastRow
        count = count + 1
        If Cells(i, "D").Value = 1 Then
            countD = countD + 1
        End If
        If Cells(i, "F").Value = 1 Then
            countF = countF + 1
        End If
        If Cells(i, "B").Value <> Cells(i + 1, "B").Value Then
            Cells(i, "C").Value = count
            Cells(i, "E").Value = countD
            Cells(i, "G").Value = countF
            count = 0
            countD = 0
            countF = 0
        End If
    Next i
End Sub
id:inosisi4141

ありがとうございました。

完璧です。

2011/04/09 10:13:32
  • id:taknt
    最後の
    >合計もありです。
    の意味が わからない。
  • id:inosisi4141
    ありがとうございます。
    数字の入っているところの列単位の縦計と思ったんですが
    なくて良いです。
    B列の同じ記号のグループ単位の数小計をグループ最後の行の右に出していただけたらと思います。

    2001/4/1   3AVZ1L    1    1
    2001/4/1   3AVZ1L    1    1
    2001/4/1   3AVZ1L 3   1 3  1  3
    2001/4/1   3AV2ZL    1    1
    2001/4/1   3AV2ZL    1    1
    2001/4/1   3AV2ZL    1    1
    2001/4/2   3AV2ZL 4   1 4   1 4

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません