Ich möchte ein Makro schreiben, das Wörter in Spalte A und B liest, um zu sehen, ob sie Wörter in Spalte E übereinstimmen und bzw. F dannfügen den Wert in Spalte C-Säule G.Wenn Spalte A enthält "Spalte D" UND Spalte B enthält "Spalte E" DANN Wert hinzufügen
zum Beispiel:
Sie sehen können, zum Beispiel, dass es in den Spalten A und B zwei Instanzen von "Lion" und "Horse" gibt, also hat Spalte G die Summe der beiden (10 + 8 = 18).
Leider ist der Versuch machte ich nur kopiert die Werte aus Spalte C bis Spalte G:
Sub CombineAnimals()
lastRow = Sheets("Sheet1").Range("A" & Rows.Count).End(xlUp).Row
For x = 1 To lastRow
If InStr(1, Sheets("Sheet1").Cells(x, 1), Cells(x, 5)) <> 0 _
And InStr(1, Sheets("Sheet1").Cells(x, 2), Cells(x, 6)) <> 0 Then
Sheets("Sheet1").Cells(x, 7).Value = _
Sheets("Sheet1").Cells(x, 7).Value + Cells(x, 3)
End If
Next x
End Sub
Ich weiß, ich bin etwas falsch mit dem „x“ (und wahrscheinlich viele andere Dinge) zu tun, aber Ich kann keinen Weg finden, es zum Laufen zu bringen. Gibt es eine Möglichkeit, dies zu ändern, so fügt es die Summen zusammen, wie es in meinem Beispielbild tut?
Vielen Dank für Ihre Hilfe.
Wenn Sie verwenden können:
Wenn Sie wirklich in einem Makro diese haben wollen, ist es so etwas wie dieses würde eine Pivot-Tabelle, das wäre viel einfacher. – Rory
Danke Rory. Eine Pivot-Tabelle funktioniert wirklich gut dafür, aber ich habe ein paar weitere Schritte und ein paar andere Spalten in meinen tatsächlichen Daten (ich habe es hier ein wenig für die Zwecke der Frage vereinfacht), die bedeuten, dass es toll wäre, wenn ich könnte stattdessen VBA verwenden. Vielen Dank für die schnelle Antwort! – Antony
Was ist mit der Formel SUMIFS (in VBA falls erforderlich)? – SJR