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

Forumthread: If Abfrage Makro in Abhängigkeit von zwei Werten

If Abfrage Makro in Abhängigkeit von zwei Werten
11.12.2013 13:25:23
zwei
Hallo zusammen,
ich steh mal wieder vor einem kleinen Problem und würde euch bitten mir mal wieder unter die Arme zu greifen.
Bisher habe ich folgendes Makro :
Sub Fiktive_Bezeichnung()
Dim Zelle As Range
Sheets("STa").Select
For Each Zelle In Range(Cells(1, 2), Cells(Range("B10000").End(xlUp).Row, 1))
If Zelle.Value = "6201" Then Zelle.Offset(0, 3).Value = "Abgabe01"
If Zelle.Value = "6301" Then Zelle.Offset(0, 3).Value = "Abgabe02"
Next Zelle
End Sub
Welches auch gut funktioniert.
Nun soll ich noch zusätzlich etwas einfügen und zwar :
Wenn in einer Zelle in Spalte B ein Zahlenwert ist und in Spalte C ein Wert kleiner/gleich 50 steht, dann muss in Spalte E der Wert Abgabe03 erscheinen.
Sollte jedoch in einer Zelle in Spalte B ein Text oder gar nichts stehen, dann soll nichts geändert werden.
Und da hört es nämlich bei mir mit den Makrokenntnissen auf.... :-(
Im Voraus vielen Dank schon mal.
Viele Grüße
Toumas

Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: If Abfrage Makro in Abhängigkeit von zwei Werten
11.12.2013 13:44:53
zwei
Moin Toumas
If IsNumeric(Zelle) And Cells(Zelle.Row, 3) 

gruss hary

AW: If Abfrage Makro in Abhängigkeit von zwei Werten
11.12.2013 13:58:07
zwei
Hallo Hary,
danke dir, werde ich gleich testen
Grüße
Toumas

AW: If Abfrage Makro in Abhängigkeit von zwei Werten
11.12.2013 13:56:12
zwei
Hallo,
Sub Fiktive_Bezeichnung()
Dim Zelle As Range
Sheets("STa").Select
For Each Zelle In Range(Cells(1, 2), Cells(Range("B10000").End(xlUp).Row, 1))
Select Case True
Case IsNumeric(Zelle) And Zelle.Offset(, 1) 

Gruß
Rudi

Anzeige
AW: If Abfrage Makro in Abhängigkeit von zwei Werten
11.12.2013 13:58:52
zwei
Hallo Rudi,
Danke, werde ich auch gleich testen

AW: If Abfrage Makro in Abhängigkeit von zwei Werten
11.12.2013 14:10:46
zwei
Mhh.. irgendwie erscheinen meine Antworten nicht... also nochmals
Vielen Dank an euch beide, die Lösungen von euch funktionieren super.
Wünsche euch noch eine schöne Weihnachtszeit.
Viele Grüße
Toumas
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
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

If Abfrage Makro in Abhängigkeit von zwei Werten


Schritt-für-Schritt-Anleitung

Um das bestehende Makro anzupassen und die neuen Anforderungen zu integrieren, folge diesen Schritten:

  1. Öffne dein Excel-Dokument und drücke ALT + F11, um den VBA-Editor zu öffnen.

  2. Finde das Makro Fiktive_Bezeichnung in deinem Projekt.

  3. Ersetze den bestehenden Code durch den folgenden:

    Sub Fiktive_Bezeichnung()
       Dim Zelle As Range
       Sheets("STa").Select
       For Each Zelle In Range(Cells(1, 2), Cells(Range("B10000").End(xlUp).Row, 1))
           If Zelle.Value = "6201" Then
               Zelle.Offset(0, 3).Value = "Abgabe01"
           ElseIf Zelle.Value = "6301" Then
               Zelle.Offset(0, 3).Value = "Abgabe02"
           ElseIf IsNumeric(Zelle.Value) And Cells(Zelle.Row, 3).Value <= 50 Then
               Zelle.Offset(0, 3).Value = "Abgabe03"
           End If
       Next Zelle
    End Sub
  4. Schließe den VBA-Editor und teste das Makro, indem du es ausführst.


Häufige Fehler und Lösungen

  • Fehler: Das Makro läuft nicht oder gibt keine Ergebnisse zurück.

    • Lösung: Stelle sicher, dass die Arbeitsblattnamen korrekt sind und dass die Daten in den richtigen Spalten vorhanden sind.
  • Fehler: Die Werte in Spalte E erscheinen nicht korrekt.

    • Lösung: Überprüfe, ob die Bedingungen für die If-Abfragen im Makro richtig gesetzt sind und ob die Zellen tatsächlich die erwarteten Werte enthalten.

Alternative Methoden

Wenn du keine VBA-Makros verwenden möchtest, kannst du auch Excel-Formeln nutzen, um ähnliche Ergebnisse zu erzielen. Eine Formel könnte wie folgt aussehen:

=IF(AND(ISNUMBER(B1), C1 <= 50), "Abgabe03", "")

Diese Formel kannst du in Zelle E1 einfügen und nach unten ziehen, um sie auf die anderen Zeilen anzuwenden.


Praktische Beispiele

Angenommen, du hast die folgenden Daten in den Spalten B und C:

B C E
6201 20 Abgabe01
6301 55 Abgabe02
500 45
Text 30
400 50 Abgabe03

Mit dem oben angepassten Makro wird die Spalte E entsprechend befüllt, basierend auf den Bedingungen.


Tipps für Profis

  • Verwende Select Case anstelle von mehreren If-Bedingungen, um den Code übersichtlicher zu gestalten, besonders bei vielen Bedingungen.
  • Kommentiere deinen Code, um die Logik hinter den Entscheidungen zu erklären, was die Wartung erleichtert.
  • Teste dein Makro mit verschiedenen Datensätzen, um sicherzustellen, dass es unter allen Umständen funktioniert.

FAQ: Häufige Fragen

1. Frage
Kann ich das Makro auch für andere Spalten verwenden?
Ja, du kannst das Makro anpassen, indem du die Spaltenindizes im Code änderst. Achte darauf, dass die Logik der Bedingungen weiterhin passt.

2. Frage
Was mache ich, wenn ich keine Programmiererfahrung habe?
Du kannst die Schritte im Tutorial genau befolgen oder nach einem Excel-Spezialisten suchen, der dir bei der Implementierung helfen kann.

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