Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

[MAKRO] Wenn, dann schreibe

Forumthread: [MAKRO] Wenn, dann schreibe

[MAKRO] Wenn, dann schreibe
28.10.2003 20:24:14
Chris
Hallo!

Ich habe folgendes Problem:
Eigentlich brauche ich nur die WENN-Funktion mit einer kleiner Änderung. Ich möchte nur, dass wenn eine bestimmte Bedinung wahr ist, der DANN-Wert in eine fremde Zelle geschrieben wird. Momentan wird ja der Dann-Wert in die Zelle eingetragen, in der auch die Funktion selbst steht.

Ich würde mich sehr freuen, wenn mir jemand weiterhelfen könnte...
Anzeige

13
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: [MAKRO] Wenn, dann schreibe
28.10.2003 20:50:50
Franz B
Hi Chris,

schreibe doch die WENN Formel in die Zelle wo die DANN Funktion benötigt wird.

Gruß Franz
AW: [MAKRO] Wenn, dann schreibe
28.10.2003 20:56:42
Chris
Das Problem ist, dass sich die Funktion bei Eingabe eines Wertes dann selbst überschreibt...
AW: [MAKRO] Wenn, dann schreibe
28.10.2003 21:43:05
FranzB
Hi Chris,
wenn ich dich richtig verstehev, steht der zu prüfende wert z.B. in A1 und das Ergebnis soll dann A1 überschreiben. Wenn ja Versuche folgendes.


Sub wenndann()
If Range("A1").Value = dein Wert Then
Range("A1").Value = "dein Ergebnis"
End If
End Sub


Gruß Franz
Anzeige
AW: [MAKRO] Wenn, dann schreibe
28.10.2003 22:10:24
Chris
Hi Franz!

Ich glaube, mein Problem ist etwas komplizierter, da ich mehrere Bedingungen prüfen muss...

Da ich kein VBA kann, muss ich es mal so beschreiben:
Ich brauche eine Funktion, der man eine Funktion wie ODER(bedingung-1, bedingung-2,...,bedingung-n) übergibt. Ich möchte also überprüfen, ob immmer verschiedene Zellwerte eine "1" enthalten. Ist in einer der Zellen eine 1 vorhanden, dann soll die Funktion in eine andere Zelle ein "X" schreiben.

z.B:
Zelle A1 enthält die "Überwachungsfunktion". Diese Funktion prüft, ob in den Zellen A3, A4 und A"was-weiß-ich" eine 1 steht. Wenn dies der Fall ist, dann wird ein "X" in die Zelle A2 geschrieben.
Dabei wäre es sehr schön, wenn man der Funktion sagen könnte, in welche Zelle das X geschrieben werden sollte.

Sozusagen so WENN(J14=1;J13=X) Es soll dann halt nicht "J13=X" in die Zelle geschrieben werden, in der die Formel steht, sondern in die Zelle J13 soll das X geschrieben werden.
Anzeige
AW: [MAKRO] Wenn, dann schreibe
28.10.2003 22:34:41
FranzB
Hi Chris,

scheint doch etwas komplizierter zu sein, nach dem letzten Satz verstehe ich das so, das zwischen jedem zu überprüfenden wert eine leerzelle ist. Dann müsste es so gehen ansonsten schicke mir mal eine Test datei.


Sub wenndann()
Dim i As Integer
For i = 1 To 50
If Cells(i, 1) = 1 Then
Cells(i - 1, 1) = "x"
End If
Next
End Sub


Gruß Franz
Anzeige
AW: [MAKRO] Wenn, dann schreibe
28.10.2003 22:39:32
Chris
Nee... So war das nicht gedacht. Ich möchte mit der Funktion jedes Mal x-beliebig viele Zellen überprüfen. Wie mit der Funktion ODER() - mit Semikolon getrennt.
Wenn die Gesamtaussage wahr ist: das heißt, wenn in irgendeiner der vielen Zellen eine 1 steht, dann soll in genau eine andere Zelle ein X geschrieben werden. Deswegen in einer anderen Zelle, da ich nicht möchte, dass die Zelle mit der Überwachungsfunktion überschrieben werden kann.
Anzeige
AW: [MAKRO] Wenn, dann schreibe
28.10.2003 22:58:44
Franz B
Hallo,

noch eine Versuch entweder in A1 = =WENN(SVERWEIS(1;A3:A20;1;FALSCH);"X";"")
und in A2 = A1 und A1 ausblenden.

oder


Sub wenndann()
Dim i As Integer
For i = 1 To 50
If Cells(i, 1) = 1 Then
Cells(2, 1) = "x"
End If
Next
End Sub


Mfg und Gute Nacht
Franz
Anzeige
AW: [MAKRO] Wenn, dann schreibe
28.10.2003 20:53:25
Wolfgang
Hallo Chris

Warum die wenn-Funktion nicht gleich in die Zelle wo`s stehen soll ?

mfg
Wolfgang
AW: kapier`s nicht
28.10.2003 21:53:32
Wolfgang
also ich kapier's nicht

angenommen in a1 entweder 1 oder 2

in a2 = wenn(a1=1;"das ist eine 1";wenn(a1 =2;"das ist eine 2";"falsche Eingabe"))

in A3 = a2

anschließend Spalte 2 ausblenden

Ergebnis: in A3 steht der entsprechende Wert

Fragen ?? mail mir

mfG
Wolfgang
Anzeige
AW: kapier`s nicht
28.10.2003 22:15:20
Chris
Erstmal Danke!

Das Problem mit dem Überschreiben der Formel ist damit leider nicht gelöst...
Ich habe das Ganze genauer in der Antwort an Franz beschrieben.
AW: kapier`s nicht
28.10.2003 23:19:51
Gert Seler
Hallo Chris,
es wäre nett, einmal zu erfahren, was deine Tabelle überhaupt für eine Aufgabe
hat ?
Ebenfalls solltest Du mal die Tabelle mit Spalten- und Zeilen-Erklärung
hier abbilden.
mfg
Gert
Anzeige
AW: kapier`s nicht
28.10.2003 23:43:45
Chris
Die Tabelle soll als einfacher Urlaubsplaner für mehrere Mitarbeiter dienen.

Tag1 Tag2 Tag3
Müller 1 X
Meier X 1
Schmidt X 1
Hermann X X
Lustig X

Beispiel
- Wenn Herr Müller im Urlaub ist, darf Herr Meier keinen Urlaub nehmen.
- Wenn Herr Meier im Urlaub ist, dürfen Herr Müller, Herr Schmidt und Herr Hermann keinen Urlaub nehmen
- Wenn Herr Schmidt im Urlaub ist, dürfen Herr Lustig und Herr Hermann keinen Urlaub nehmen
- etc.

Ein Urlaubstag wird mit einer 1 gekennzeichnet. Gleichzeitig werden per Formel alle betroffenen Personen mit einem "X" gekennzeichnet, die keinen Urlaub nehmen dürfen. Das ganze lässt sich prima mit der WENN()-Formel lösen. Mein Problem dabei ist nur, dass wenn eine 1 oder ein Urlaubstag (also eine 1) wieder gelöscht wird, ist auch die Formel weg, die dahinter lag...

Deswegen möchte ich für jeden Mitarbeiter eine Zwischenspalte einfügen, in der diese WENN-Formel steht:

A1 Formel1
A2 Müller
A3 Formel2
A4 Meier

Formel1 soll prüfen, ob bei den entsprechenden Mitarbeitern (hier A4) eine 1 steht. Ist dies der Fall, soll in Zelle A2 ein "X" geschrieben werden.
Anzeige
AW: kapier`s nicht
29.10.2003 00:34:48
Reinhard
Hi, vielleicht, wenns klappt, isses so besser verständlich...

Tag1     Tag2    Tag3
Müller    1        X
Meier     X        1
Schmidt            X       1
Hermann            X       X
Lustig                     X

- Wenn Herr Müller im Urlaub ist, darf Herr Meier keinen Urlaub nehmen.
- Wenn Herr Meier im Urlaub ist, dürfen Herr Müller, Herr Schmidt und Herr Hermann keinen Urlaub nehmen
- Wenn Herr Schmidt im Urlaub ist, dürfen Herr Lustig und Herr Hermann keinen Urlaub nehmen
- etc.
Reinhard
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Infobox / Tutorial

Automatisierung mit Excel Makros: Wenn-Dann-Funktion richtig nutzen


Schritt-für-Schritt-Anleitung

Um ein Excel Makro zu erstellen, das die WENN-DANN-Funktion verwendet, gehe folgendermaßen vor:

  1. Öffne Excel und gehe zu dem Arbeitsblatt, wo du das Makro erstellen möchtest.

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

  3. Klicke auf Einfügen > Modul, um ein neues Modul zu erstellen.

  4. Füge den folgenden Code ein:

    Sub wenndann()
       If Range("A1").Value = 1 Then
           Range("B1").Value = "X"
       End If
    End Sub
  5. Schließe den VBA-Editor und kehre zu Excel zurück.

  6. Drücke ALT + F8, wähle das Makro wenndann aus und klicke auf Ausführen.

Jetzt wird, wenn in Zelle A1 der Wert 1 eingegeben wird, in Zelle B1 ein "X" geschrieben.


Häufige Fehler und Lösungen

  • Problem: Das Makro funktioniert nicht.

    • Lösung: Stelle sicher, dass die Makros in Excel aktiviert sind. Gehe zu Datei > Optionen > Sicherheitscenter > Einstellungen für das Sicherheitscenter > Einstellungen für Makros und aktiviere die Makros.
  • Problem: Die Zelle, die das Ergebnis anzeigen soll, wird nicht aktualisiert.

    • Lösung: Überprüfe, ob das Makro korrekt auf die richtige Zelle verweist und ob die Bedingungen im Code richtig gesetzt sind.

Alternative Methoden

Falls du kein VBA verwenden möchtest, kannst du die WENN-Funktion direkt in eine Zelle eingeben, um ähnliche Ergebnisse zu erzielen. Beispielsweise:

=WENN(A1=1;"X";"")

Dies kannst du auch in Kombination mit der WENN-ODER-Funktion nutzen, um mehrere Bedingungen zu prüfen. Zum Beispiel:

=WENN(ODER(A1=1;A2=1);"X";"")

Praktische Beispiele

  1. Wartungskalender erstellen: Du kannst ein Makro nutzen, um Wartungsintervalle zu überwachen. Verwende die folgende Struktur:

    Sub wartungskalender()
       Dim i As Integer
       For i = 1 To 12
           If Cells(i, 2).Value = "Wartung" Then
               Cells(i, 3).Value = "Durchführen"
           End If
       Next
    End Sub
  2. Urlaubsplaner: Wie im Forum beschrieben, kannst du ein Makro erstellen, das die Urlaubsanträge von Mitarbeitern verwaltet:

    Sub urlaubsplaner()
       Dim i As Integer
       For i = 1 To 10
           If Cells(i, 1).Value = 1 Then
               Cells(i + 1, 1).Value = "X"
           End If
       Next
    End Sub

Tipps für Profis

  • Nutze das "Wenn-Falsch"-Konstrukt, um zu verhindern, dass bei falschen Eingaben etwas ausgegeben wird. Zum Beispiel:

    If Cells(i, 1).Value = 1 Then
       Cells(i + 1, 1).Value = "X"
    Else
       Cells(i + 1, 1).Value = ""
    End If
  • Halte deine Makros immer gut dokumentiert, um die Wartung zu erleichtern.


FAQ: Häufige Fragen

1. Was mache ich, wenn mein Makro nicht funktioniert?
Überprüfe, ob alle Zellen, auf die verwiesen wird, korrekt sind und dass die Makros aktiviert sind.

2. Kann ich die WENN-Funktion ohne VBA verwenden?
Ja, du kannst die WENN-Funktion direkt in einer Zelle verwenden, um Bedingungen zu prüfen und Ergebnisse anzuzeigen.

3. Wie kann ich mehrere Bedingungen in einem Makro prüfen?
Verwende die If...ElseIf...Else Struktur oder die WENN(ODER(...)) Funktion, um mehrere Bedingungen zu prüfen.

4. Was ist der Unterschied zwischen WENN und WENN-FALSCH?
WENN gibt einen Wert basierend auf einer Bedingung zurück, während WENN-FALSCH einen spezifischen Wert zurückgibt, wenn die Bedingung nicht erfüllt ist.

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