VBAを学びながら、フォーラムを数週間使用しています。しかし今、私は立ち往生しており、助けが必要です。だからここに私の問題があります:
いくつかのワークシートを含むワークブックがあります。簡単にするために、2 つのワークシートがあるとします。1 つは多くの未加工データ素材を含むもので、もう 1 つはきれいにフォーマットされていて受信シートになります。
生データ テーブルは次のようになります。8 つの列があり、各行 (列 B と E) で 2 つの条件をチェックし、列 H の値を合計する必要があります。列 B には異なる名前が含まれ、列 E には作業ステータスが含まれます。 、例えば、準備ができている、または話している。私は約3.000行と、ステータスが異なる約20の異なる名前のセットを持っています。全体として、名前が「Smith」でステータスが「talking」の 100 行を順不同で考えてみましょう。ここで、「Smith」という名前と「話している」というステータスが入力されている各行のすべての数字 (H 列) を合計する必要があります。その後、名前 (B 列)、ステータス (E 列) と合計 (H 列) が、I3:K3 から始まるダイナミック レンジで同じワークブックのセルに書き込まれます。私はこれについて完全に暗闇の中にいることを認めなければなりません..皆さんがコードを手伝ってくれたり、正しい方向に向けてくれることを本当に願っています. 何よりも、あなたのコードが何をするのかについても説明していただければ、私はそれを正しく理解し、学ぶことができます。よろしくお願いします!
これまでの私のコードは次のとおりです。
Private Sub SumNumbers()
Dim tbl As Worksheet
Dim x As Integer
Dim lrow As Long
Dim lastname As String
Dim astatus As String
Dim number As Integer
Dim counter As Integer
Set wb = ThisWorkbook
Set tbl = wb.Sheets("Sheet1")
lrow = tbl.Cells(Rows.Count, "B").End(xlUp).Row
lastname = tbl.Cells("C2:C" & lrow).Text
astatus = tbl.Cells("E2:E" & lrow).Text
number = tbl.Cells("H2:H" & lrow)
For x = 2 To lrow
If lastname = "Smith" And astatus = "Talking" Then
counter = counter + number
End If
Next x
End Sub