Ich habe ein aufgezeichnetes Makro, das ich intelligenter und wartungsfrei machen möchte. Das Makro ist sehr spezifisch darin, dass die Adressen und Werte der Zellen fest codiert sind. Wenn sich die Werteliste ändert, muss der Makrocode bearbeitet werden. Kein Problem für mich, aber zukünftige Benutzer werden wahrscheinlich nicht das Wissen oder die Neigung haben, es zu tun.Schleife durch den Bereich, Wert in einem separaten Arbeitsblatt finden, Werte kopieren und zurückgeben und einfügen
Ich denke, eine Schleife wäre die beste Lösung, aber ich bin mir nicht sicher, wie es weitergehen soll.
Hier ist die aktuelle Version des Codes:
'======= APPROVED
Sheets("Worksheet").Visible = True -- Unhide the "Worksheet" tab
Sheets("Worksheet").Select
Range("B8").Select -- go to cell B8
ActiveCell.FormulaR1C1 = "Approved" -- type "Approved"
'C9755
'Expense and Lease Current Year
Range("B2").Select -- Go to cell for search value
ActiveCell.FormulaR1C1 = "C9755" -- Type in "C9755" (first item)
Range("I1:T1").Select -- Copy the total in the range
Selection.Copy
Sheets("Summary by Component").Select -- Go back to other tab
Range("C9").Select -- This is where "C9755" is
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
'Capital Depreciation
Sheets("Worksheet").Select -- Now go back and do the same for Capital
Range("I2:T2").Select
Selection.Copy
Sheets("Summary by Component").Select
Range("C35").Select -- This is where "C9755" Capital is
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Bild von Flow: Flow
Hallo @celapointe, danke für den Link. Ich werde es mir ansehen. – Greg
Die Liste der Werte, die ich verwenden möchte, beginnt in Zelle B9 eines Blattes mit dem Namen "Zusammenfassung nach Komponente". Was der Code tun sollte, ist: 1. Lesen Sie den Wert in Zelle B9; 2. Gehen Sie zu einem Blatt mit der Bezeichnung "Arbeitsblatt" und geben Sie diesen Wert in Zelle B2 ein. 3. Kopieren Sie die in den Zellen I1 bis T1 zurückgegebenen Werte. 4. Kehren Sie zu "Zusammenfassung nach Komponente" zurück und fügen Sie die Werte ein. 5. Wiederholen Sie den Vorgang, indem Sie zur nächsten Zelle gehen. Fahren Sie fort, bis eine leere Zeile gefunden wurde, und stoppen Sie dann. – Greg
Hier ist was ich jetzt habe. Deutlich kürzer als das, was ich vorher hatte, aber ich denke immer noch, dass es enger sein kann. – Greg