Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Zelle automatisch multiplizieren

Forumthread: Zelle automatisch multiplizieren

Zelle automatisch multiplizieren
01.09.2015 23:23:48
Nin@
Hallo zusammen,
ich habe folgendes Problem:
Ich habe eine Tabelle, in der ich die Zellen B7-G7; J7-O7, sowie B8-G8; J8-O8 mit der Zelle H2 automatisch multiplizieren möchte, so dass das Ergebnis in der jeweiligen Zelle zu sehen ist.
Hintergrund: Stunden/Zeiterfassung der Mitarbeiter
Die Mitarbeiter haben unterschiedliche tägl. Sollarbeitszeiten (z.B. 7,6 Std.). Diese stehen auf jedem Tabellenblatt in Spalte "H2".
Zeile 7 ist die Erfassung der Urlaubstage des Mitarbeiters, Zeile 8 sind die Krankheitstage. Da in der ganzen Tabelle jedoch in Stunden gerechnet wird, wollte ich als Arbeitserleichterung bei Eintragung der Urlaubs / Krankheitstage, dass diese sofort mit der täglichen Arbeitszeit multipliziert werden und somit die Urlaubs- bzw. Krankheitsstunden angezeigt werden.
Leider bin ich trotz mehrerer Versuche an dem Code gescheitert.
Ich würde mich sehr freuen, wenn mir jemand mit meinem Problem weiterhelfen kann.
Vielen Dank schonmal!
Grüße
Nin@

Anzeige

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zelle automatisch multiplizieren
02.09.2015 10:22:35
Matthias
Hallo Nin@,
probier es mal mit einem Change-Event. Sobald eine Eingabe in den definierten Zellen getätigt wird und sich damit der Wert ändert, löst es aus. Die Zelle wird dabei als Target bezeichnet und mit H2 multipliziert.
Private Sub Worksheet_Change(ByVal Target As Excel.Range)
If Not Intersect(Target, Range("B7:G8", "J7:O8")) Is Nothing Then
Application.EnableEvents = False
Target.Value = Target.Value * Range("H2").Value
Application.EnableEvents = True
End If
End Sub
lg Matthias

Anzeige
AW: Zelle automatisch multiplizieren
02.09.2015 10:54:06
Frank
Hallo Nin@
So sollte es gehen:
Private Sub Worksheet_Change(ByVal Target As Range)
TR = Target.Row
TC = Target.Column
EW = Cells(1, 8).Value
UK = Cells(2, 8).Value
If Not (EW = "Berechnung") Then
If TR > 6 And TR 
In Spalte H1 wird dafür kurzzeitig "Berechnung" eingetragen, statt des "Soll". Ich nehme an, in Deiner Tabelle steht in H1 so etwas wie "Sollarbeitszeit". Falls nicht, nimm irgendeine andere Zelle her, in der ein Text steht (Überschriften von Spalten sind dafür gut).
Dieser Wert wird während der Berechnung zwischengespeichert und dann wieder zurückgeschrieben.
Grüsse,
Frank

Anzeige
AW: Zelle automatisch multiplizieren
02.09.2015 11:05:27
Matthias
Hallo Frank,
kleiner Tipp:
"Cells(TR, TC).Value" mit "Target.Row" bzw. "Target.Column" ergibt "Target.Value"
lg Matthias

Muss ja nicht zu verständlich sein...
02.09.2015 11:44:46
Frank
Hallo Matthias,
ja, kann man machen. Für mich ist die Cells-Schreibweise anschaulicher.
Ich habe da was aus eigenem Code rauskopiert und nur das nötigste geändert. Ich habe da noch ein paar andere Berechnungen zu stehen.
Grüsse,
Frank

Anzeige
AW: Muss ja nicht zu verständlich sein...
02.09.2015 22:49:34
Nin@
:-) Vielen Dank für die schnellen Antworten! Das funktioniert ja einwandfrei!
Und ich hab da so lange rumgetüfftelt :D
Grüße
Nin@
Anzeige
Anzeige

Infobox / Tutorial

Zelle automatisch multiplizieren in Excel


Schritt-für-Schritt-Anleitung

Um in Excel Zellen automatisch mit einer Zahl zu multiplizieren, kannst du ein VBA-Skript verwenden. Hier sind die Schritte, die du befolgen solltest:

  1. Öffne das Excel-Dokument und wechsle zu dem Arbeitsblatt, in dem du die Zellen multiplizieren möchtest.

  2. Drücke ALT + F11, um den VBA-Editor zu öffnen.

  3. Im VBA-Editor, doppelklicke auf das Arbeitsblatt in dem Projektfenster, für das du das Skript erstellen möchtest.

  4. Füge den folgenden Code ein:

    Private Sub Worksheet_Change(ByVal Target As Excel.Range)
       If Not Intersect(Target, Range("B7:G8, J7:O8")) Is Nothing Then
           Application.EnableEvents = False
           Target.Value = Target.Value * Range("H2").Value
           Application.EnableEvents = True
       End If
    End Sub
  5. Schließe den VBA-Editor und gehe zurück zu deinem Arbeitsblatt.

  6. Teste die Funktion, indem du Werte in die Zellen B7-G8 und J7-O8 eingibst. Diese sollten nun automatisch mit dem Wert in H2 multipliziert werden.


Häufige Fehler und Lösungen

  • Fehler: Der Code funktioniert nicht, wenn ich einen Wert eingebe.

    • Lösung: Stelle sicher, dass die Zellen B7-G8 und J7-O8 korrekt im Code angegeben sind. Überprüfe auch, ob Application.EnableEvents aktiviert ist.
  • Fehler: Es wird ein Fehler angezeigt, wenn ich eine Zelle lösche.

    • Lösung: Füge eine Fehlerbehandlung in deinen Code ein, um unerwartete Eingaben zu vermeiden.

Alternative Methoden

Wenn du nicht mit VBA arbeiten möchtest, kannst du auch die Formel-Methode nutzen:

  1. Gehe zu der Zelle, in die du das Ergebnis setzen möchtest (z.B. B7).

  2. Gib die folgende Formel ein:

    =B7 * $H$2
  3. Ziehe die Formel nach rechts und nach unten, um sie auf die anderen Zellen anzuwenden.

Diese Methode ist ideal, wenn du keine Programmierung verwenden möchtest.


Praktische Beispiele

Angenommen, du hast folgende Werte:

  • H2 = 7,6 (Sollarbeitszeit)
  • B7 = 2 (Urlaubstage)

Wenn du die Formel =B7 * $H$2 in Zelle B8 eingibst, wird das Ergebnis 15,2 (2 * 7,6) angezeigt.

Mit dem VBA-Skript wird das gleiche Ergebnis automatisch aktualisiert, sobald du den Wert in B7 änderst.


Tipps für Profis

  • Arbeite mit benannten Bereichen, um den Code übersichtlicher zu gestalten. Statt Range("H2") kannst du den Bereich beispielsweise als Sollarbeitszeit benennen.
  • Nutze Verknüpfungen in Excel, um mehrere Zellen gleichzeitig zu multiplizieren, was dir die Arbeit erleichtert, wenn du excel mehrere zellen mit einer zahl multiplizieren möchtest.
  • Experimentiere mit Bedingten Formatierungen, um die Zellen hervorzuheben, die automatisch multipliziert wurden.

FAQ: Häufige Fragen

1. Kann ich auch ganze Spalten oder Zeilen multiplizieren?
Ja, du kannst den Bereich im VBA-Code oder in der Formel entsprechend anpassen, um ganze Spalten oder Zeilen zu berücksichtigen.

2. Was passiert, wenn ich die Zahl in H2 ändere?
Wenn du das VBA-Skript verwendest, wird die Multiplikation automatisch mit dem neuen Wert durchgeführt, sobald du eine Zelle in den definierten Bereichen änderst. Bei der Formel-Methode musst du die Formel manuell aktualisieren.

3. Funktioniert das in allen Excel-Versionen?
Ja, die beschriebenen Methoden funktionieren in den meisten modernen Excel-Versionen, die VBA unterstützen.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige