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

Eingegebene Werte automatisch ändern

Forumthread: Eingegebene Werte automatisch ändern

Eingegebene Werte automatisch ändern
05.01.2006 09:09:12
Jakob
Hallo Leute!
Ich habe folgendes Problem: Im Bereich A1:C20 sollen beliebige Zahlen eingegeben werden. Nun möchte ich, dass wenn z.B. in B3 der Wert 100 eingegeben wird, dieser beim verlassen der Zelle automatisch durch 3 geteilt wird.
Also jemand gibt in eine Zelle x ein, und wenn er die Zelle verläßt, soll in der Zelle x/3 stehen.
Hat jemand eine Idee?
Vielen Dank im Voraus!
Anzeige

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Eingegebene Werte automatisch ändern
05.01.2006 09:24:31
MichaV
Hallo,
rechte Maustaste auf den Namen der Tabelle, "Code anzeigen" und im rechten Fenster einfügen.

Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Range("a1:C20"), Target) Is Nothing Then Exit Sub
If IsNumeric(Target) Then
On Error Resume Next
Application.EnableEvents = False
Target = Target / 3
Application.EnableEvents = True
End If
End Sub

Gruß- Micha
PS: Rückmeldung wäre nett.
Anzeige
AW: Eingegebene Werte automatisch ändern
05.01.2006 09:38:19
Jakob
Vielen Dank Micha, das war genau das was ich brauchte!
Viele Grüße Jakob
Danke für Deine Rückmeldung! owT
05.01.2006 09:54:32
MichaV
;
Anzeige

Infobox / Tutorial

Eingegebene Werte automatisch ändern in Excel


Schritt-für-Schritt-Anleitung

Um die eingegebenen Werte in Excel automatisch zu ändern, kannst du den folgenden VBA-Code verwenden. Dieser Code wird sicherstellen, dass alle Zahlen, die im Bereich A1:C20 eingegeben werden, beim Verlassen der Zelle automatisch durch 3 geteilt werden.

  1. Öffne die Excel-Datei, in der du diese Funktion implementieren möchtest.
  2. Klicke mit der rechten Maustaste auf den Tab der Tabelle, in der du arbeiten möchtest.
  3. Wähle "Code anzeigen" aus dem Kontextmenü.
  4. Füge den folgenden VBA-Code in das sich öffnende Fenster ein:
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
    If Intersect(Range("A1:C20"), Target) Is Nothing Then Exit Sub
    If IsNumeric(Target) Then
        On Error Resume Next
        Application.EnableEvents = False
        Target = Target / 3
        Application.EnableEvents = True
    End If
End Sub
  1. Schließe den VBA-Editor und teste die Funktion, indem du eine Zahl in den Bereich A1:C20 eingibst.

Häufige Fehler und Lösungen

  • Fehler: Der Code funktioniert nicht.

    • Lösung: Stelle sicher, dass die Makros in deiner Excel-Datei aktiviert sind. Gehe zu "Datei" > "Optionen" > "Trust Center" > "Einstellungen für das Trust Center" und aktiviere die Makros.
  • Fehler: Werte werden nicht geteilt.

    • Lösung: Überprüfe, ob der eingegebene Wert tatsächlich eine Zahl ist und sich im Bereich A1:C20 befindet.

Alternative Methoden

Wenn du keine VBA-Lösungen verwenden möchtest, kannst du auch die folgende Formel in eine Hilfsspalte einfügen, um die Werte manuell zu teilen:

  1. Angenommen, du gibst die Werte in Spalte B ein. In Zelle C1 könntest du folgende Formel verwenden:
=B1/3
  1. Ziehe die Formel nach unten, um sie auf die anderen Zellen anzuwenden.

Praktische Beispiele

  • Beispiel 1: Du gibst in Zelle B3 den Wert 100 ein. Nach dem Verlassen der Zelle wird in B3 automatisch 33,33 angezeigt.
  • Beispiel 2: Wenn du in Zelle A1 den Wert 90 eingibst, wird dieser beim Verlassen der Zelle automatisch auf 30 geändert.

Tipps für Profis

  • Verwendung von Fehlerbehandlung: Achte darauf, die Fehlerbehandlung zu verwenden, um unerwünschte Fehlermeldungen bei der Dateneingabe zu vermeiden.
  • Testen von Änderungen: Teste den Code in einer Kopie deiner Excel-Datei, um Datenverluste zu vermeiden.
  • Optimierung: Du kannst den Code leicht anpassen, um andere mathematische Operationen durchzuführen, wie z.B. Multiplikation oder Subtraktion.

FAQ: Häufige Fragen

1. Kann ich den Bereich der Zellen ändern, in dem die Werte geteilt werden? Ja, ändere einfach den Bereich in der Zeile If Intersect(Range("A1:C20"), Target) Is Nothing Then Exit Sub auf den gewünschten Bereich.

2. Funktioniert dieser Code in Excel 365? Ja, der Code funktioniert in Excel 365 und anderen Versionen, die Makros unterstützen. Stelle sicher, dass die Makros aktiviert sind.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige