0
私は、ある列からいくつかの値を取り、小計を作成するコードを持つシートを持っています。この細胞は今までと同じではないので、私は使用されています。一度それらが選択されると、目的はそれらを合計し、これらの小計を有するために指定された他のセル列に結果を置きます。私はアキュムレータを使用してマクロを作っていますが、問題は私もこれらの小計の合計を避ける方法を見つけることができません。誰か助けてもらえますか? 私はこの写真を説明しました。赤い矢印は、私が避けたいと思っている蓄積です。 ありがとうございます!Findとの累積合計
コードを使用:
Sub Mod9x()
Dim cell As Range
Dim arr As Variant, arrElem1 As Variant, arrElem2 As Variant, arrElem3 As Variant
Dim sumtotal As Variant
Dim sh1 As Worksheet
Subtotal = 0
subs = 0
Set sh1 = Sheets("Valeurs")
lr = sh1.Range("E" & Rows.Count).End(xlUp).row
With Worksheets("Valeurs")
For i = 15 To lr
For Each cell In sh1.Cells(i, 5)
arr = Split(Replace(cell.Value, " ", " "), " ")
For Each arrElem1 In arr
If Len(arrElem1) = 22 Then
lResult1 = Left(arrElem1, Len(arrElem1) - 8)
Set findv1 = Range("E15:E3000").Cells.Find(What:=lResult1, LookAt:=xlWhole, _
after:=Range("E15"), SearchDirection:=xlPrevious)
findv1.Offset(, 16).Select
With Selection.Interior
.Pattern = xlSolid
.PatternColorIndex = xlAutomatic
.ThemeColor = xlThemeColorAccent4
.TintAndShade = 0.399975585192419
.PatternTintAndShade = 0
End With
lResult2 = arrElem1
Set findv2 = Range("E15:E3000").Cells.Find(What:=lResult2, LookAt:=xlWhole, _
after:=Range("E15"), SearchDirection:=xlPrevious)
If findv2.Offset(, 1) <> "" And findv2.Offset(, 2) <> "" And findv2.Offset(, 10) <> "" Then
findv2.Offset(, 15).Select
Subtotal = Subtotal + findv2.Offset(, 15)
findv1.Offset(, 16) = Subtotal
Set findco = Range("E15:E3000").Cells.Find(What:=findv1, LookAt:=xlWhole, _
after:=findv1, SearchDirection:=xlNext)
With Selection.Interior
.Pattern = xlSolid
.PatternColorIndex = xlAutomatic
.ThemeColor = xlThemeColorAccent3
.TintAndShade = 0.399975585192419
.PatternTintAndShade = 0
End With
End If
End If
Next arrElem1
Next cell
Next i
End With
End Sub
希望する小計は何から区別しますか? – SJR
こんにちはSJR、コード化の方法。追加された写真にそれを見ることができます(コード化...)。これらのコードは1つの列にあります。彼らが置くに従って、それは合計または小計を与えるでしょう。ありがとう –
あなたの2枚の写真がどう関係しているかははっきりしません。右側の列の緑色の値の一部を合計し、緑色の値を除外しようとしていますか?これは、コードの基礎と思われる2番目のイメージのテキスト値に基づいていますが、私はあなたがしようとしていることを十分に理解しているとは言えません。 – SJR