Live-Forum - Die aktuellen Beiträge
Datum
Titel
16.10.2025 17:40:39
16.10.2025 17:25:38
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Zellen Wert zuweisen

Zellen Wert zuweisen
11.01.2016 17:23:16
Olli
Hallo Zusammen
Benötige eine kleine Unterstützung mit folgendem Makro:
Möchte gerne bei einer Änderung der Zelle über

Private Sub Worksheet_Change(ByVal Target As Range) zwei weitere Zellen die Zahl 0 zuordnen ( _
siehe unten)
Bekomme immer wieder einen Laufzeitfehler "Nicht genügend Speicherplatz"
Wenn ich das Makro in einem Modul reinkopiere und ausführe klappt es?
Sub Wert_übergeben
If ActiveSheet.Range("A6") = "Test" Then
ActiveSheet.Range("C22,C23").Value = "0"
ActiveSheet.Range("C15").Value = ""
End If
End Sub
Kann mir einer sagen, wo da der Fehler ist?

Anzeige

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zellen Wert zuweisen
11.01.2016 17:31:48
Sepp
Hallo Olli,
ist doch logisch, Excel kommt dadurch in eine Endlosschleife, weil die Änderung einer Zelle die nächste Änderung auslöst.

Private Sub Worksheet_Change(ByVal Target As Range)
On Error Goto Errorhandler
Application.EnableEvents = False
If Target.Address(0, 0) = "A6" Then
If Target = "Test" Then
Range("C22,C23").Value = "0"
Range("C15").Value = ""
End If
End If
Errorhandler:
Application.EnableEvents = True
End Sub
Gruß Sepp

Anzeige
AW: Zellen Wert zuweisen
12.01.2016 12:04:36
Olli
Hallo Sepp
Danke für die schnelle Antwort!
Quellcode funktioniert!
Habe leider noch das Problem, das die Zelle A6 ein Dropdown enthält mit mehreren Wörtern wie Test1, Test2,Test3 usw...
Nach Anwahl der Wörter passiert leider nichts. Ziel ist das bei allen Wörtern mit Test am Anfang die Aktion durchgeführt wird.
Hatte hierzu in den Quellcode die left Funktion mit eingefügt, was aber leider nicht funktioniert.
siehe
Private Sub Worksheet_Change(ByVal Target As Range)
On Error GoTo Errorhandler
Application.EnableEvents = False
If Target.Address(0, 0) = "A6" Then
If Target = Left("Test", 4) Then
Range("C22,C23").Value = "0"
Range("C15").Value = ""
End If
End If
Errorhandler:
Application.EnableEvents = True
End Sub

Anzeige
AW: Zellen Wert zuweisen
12.01.2016 12:52:52
Sepp
Hallo Olli,
If Target = Like "Test*" Then
Gruß Sepp

AW: Zellen Wert zuweisen
12.01.2016 13:25:58
Olli
Hallo Sepp
Bekomme bei dem Wort Like immer einen Kompilierungsfehler

Anzeige
AW: Zellen Wert zuweisen
12.01.2016 13:36:14
Sepp
Hallo Olli,
sorry, falsch eingetippt!
If Target Like "Test*" Then
Gruß Sepp

AW: Zellen Wert zuweisen
12.01.2016 13:52:00
Olli
Jepp funktioniert
Thanks a lot!!!!
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige
Anzeige

Infobox / Tutorial

Zellen Wert zuweisen in Excel VBA


Schritt-für-Schritt-Anleitung

Um in Excel VBA einer Zelle einen Wert zuzuweisen, kannst du das folgende VBA-Makro verwenden. Dieses Beispiel zeigt, wie du die Zelle A6 überwachen und bei einer Änderung einen Wert in die Zellen C22 und C23 zuweisen kannst.

  1. Öffne Excel und drücke ALT + F11, um den VBA-Editor zu öffnen.
  2. Doppelklicke auf das Arbeitsblatt, in dem du das Makro verwenden möchtest (z.B. "Tabelle1").
  3. Füge den folgenden Code ein:
Private Sub Worksheet_Change(ByVal Target As Range)
    On Error GoTo Errorhandler
    Application.EnableEvents = False
    If Target.Address(0, 0) = "A6" Then
        If Target.Value = "Test" Then
            Range("C22,C23").Value = "0"
            Range("C15").Value = ""
        End If
    End If
Errorhandler:
    Application.EnableEvents = True
End Sub
  1. Schließe den VBA-Editor und teste das Makro, indem du den Wert in Zelle A6 änderst.

Häufige Fehler und Lösungen

  • Laufzeitfehler "Nicht genügend Speicherplatz": Dieser Fehler tritt auf, wenn das Makro eine Endlosschleife erzeugt. Stelle sicher, dass Application.EnableEvents auf False gesetzt ist, bevor du Änderungen vornimmst, und aktiviere es am Ende wieder.

  • Änderungen bei Dropdown-Werten: Wenn A6 ein Dropdown mit verschiedenen Wörtern hat, kannst du die Bedingung anpassen, um alle Wörter, die mit "Test" beginnen, zu erkennen. Verwende den Like Operator:

If Target Like "Test*" Then

Alternative Methoden

Wenn du keinen VBA-Code verwenden möchtest, kannst du auch Excel-Formeln zur Wertzuweisung nutzen. Mit der WENN-Funktion kannst du Bedingungen erstellen, um Werte in andere Zellen zuzuweisen:

=WENN(A6="Test"; 0; "")

Diese Funktion gibt 0 in der Zelle zurück, wenn A6 "Test" ist, andernfalls bleibt die Zelle leer.


Praktische Beispiele

  • Zellen mehrere Werte zuweisen: Um in einem Excel-Makro einer Zelle mehrere Werte zuzuweisen, kannst du Arrays verwenden:
Dim Werte() As Variant
Werte = Array("Wert1", "Wert2", "Wert3")
Range("C22:C24").Value = Werte
  • Festen Wert zuweisen: Um einer Zelle einen festen Wert zuzuweisen, benutze:
Range("C15").Value = 100

Tipps für Profis

  • Verwende Option Explicit: Setze am Anfang deines Moduls Option Explicit, um sicherzustellen, dass alle Variablen deklariert sind. Das hilft dir, Fehler zu vermeiden.

  • Fehlerbehandlung: Implementiere eine robuste Fehlerbehandlung, um sicherzustellen, dass dein Makro auch bei unerwarteten Eingaben korrekt reagiert.

  • Makros optimieren: Vermeide Select oder Activate, um den Code effizienter zu gestalten. Greife direkt auf Zellwerte zu.


FAQ: Häufige Fragen

1. Wie kann ich mit VBA einer Zelle einen Wert zuweisen?
Verwende den Befehl Range("Zelle").Value = "Wert" innerhalb eines VBA-Makros.

2. Was mache ich, wenn mein Makro nicht funktioniert?
Überprüfe die Fehlerbehandlung und stelle sicher, dass Application.EnableEvents korrekt gesetzt ist.

3. Kann ich auch Text in eine Zelle schreiben?
Ja, du kannst sowohl Text als auch Zahlen zuweisen, indem du einfach den entsprechenden Wert angibst, z.B. Range("A1").Value = "Text".

4. Wie kann ich mehrere Zellen gleichzeitig ansprechen?
Nutze eine Komma-separierte Liste oder einen Bereich wie Range("C22:C23").Value = "0" um mehrere Zellen gleichzeitig zu bearbeiten.

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