Hallo Xpert
Besten Dank für den VBA-Code.
Da ich kein VBA-Spezialist bin, wäre ich froh, um eine kleine Anleitung.
Auf welcher Zelle erstelle ich wie das VBA?
Ich habe Dir noch ein Bild von der Tabelle angehängt. Die errechneten Zahlen aus Zelle C12 (sorry, schrieb vorher B10) soll nun in Tabelle 2 untereinander aufgelistet werden.
Die orangen Zellen können mittels Auswahl definiert werden, die gelben sind Formeln.
Besten Dank
kafi
Da du nicht VBA erfahren bist, würde ich dir meine Button Lösung vorschlagen:
1. Öffne das betroffene Arbeitsblatt in Excel
2. Wähle den Punkt "Entwicklertools" in der Mulitfunktionsleiste (sollte dieses Register nicht zu sehen sein, musst du diese einblenden lassen: Gehe in die Excel-Optionen, dort unter "Häufig verwendet" den Hacken bei "Entwicklerregisterkarte in der Mulitfunktionsleiste anzeigen" anwählen.)
3. Klicke unter Entwicklertools "Einfügen" an und dort "button einfügen"; jetzt wechselt die Maus zu einem Kreuz, womit du den Button auf das Blatt "zeichnen" (klick links, nach unten ziehen, los lassen) kannst. -> Mach das dort wo du den hin haben willst.
4. Wählen den soeben erstellen button an in dem du in einmal anklickst (rechts klick), so dass er markiert ist.
5. in der Menuleiste klickst du auf "Code anzeigen"
6. Es öffnet sich ein Fenster mit:
Code:
Sub Schaltfläche1_KlickenSieAuf()
End Sub
7. Füge dort folgenden Code ein:
Code:
ScreenUpdating = False
Sheets("Tabelle1").Range("B10").Select
ActiveCell.Copy
ActiveCell.Offset(1, 0).Select
Homecell = ActiveCell.Address
Sheets("Tabelle2").Activate
Sheets("Tabelle2").Range("A1").Activate
Do While ActiveCell <> Empty
ActiveCell.Offset(1, 0).Select
Loop
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Sheets("Tabelle1").Select
Range(Homecell).Activate
Application.CutCopyMode = False
ScreenUpdating = True
das sieht dann so aus:
Code:
Sub Schaltfläche1_KlickenSieAuf()
ScreenUpdating = False
Sheets("Tabelle1").Range("C12").Select
ActiveCell.Copy
ActiveCell.Offset(1, 0).Select
Homecell = ActiveCell.Address
Sheets("Tabelle2").Activate
Sheets("Tabelle2").Range("A1").Activate
Do While ActiveCell <> Empty
ActiveCell.Offset(1, 0).Select
Loop
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Sheets("Tabelle1").Select
Range(Homecell).Activate
Application.CutCopyMode = False
ScreenUpdating = True
End Sub
8. Klicke auf Speichern und Speichere die Datei als "*.xlsm" (wird benötigt, damit es das Makro speichert
9. Jetzt kannst du den VBA Editor schliessen und zurück auf den Excel-Blatt gehen.
Test: Jedes Mal wenn du auf den Button drückst, wird der Betrag aus C12 auf Tabelle 2 nach hinten geschrieben, wobei neue Einträge jeweils eine Zeile darunter aufgelistet werden
Die Summe kannst du dier ja in B1 auf Tabelle 2 anzeigen lassen: =Summe(A1:A100)
Möchtest du mit einer neuen Summenrechnung beginnen, musst du die Resultat auf Tabelle 2 Spalte A selber manuell löschen oder du machst einen zweiten Button, welcher die Inhalte der Spalte A automatisch löscht. Hier der Code für den zweiten Button (vorgehen analog oben):
Code:
Sub Schaltfläche2_KlickenSieAuf()
ScreenUpdating = False
Sheets("Tabelle2").Range("A1:A100").ClearContents
Sheets("Tabelle1").Activate
Range("B11").Activate
ScreenUpdating = True
End Sub
Hoffe konnte dir helfen.