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

Wenn Wert grösser 1 dann...

Forumthread: Wenn Wert grösser 1 dann...

Wenn Wert grösser 1 dann...
06.03.2017 07:14:56
Roland
Hallo zusammen
Ich bin neu im Forum und lese mich momentan in VBA ein. Nun stosse ich aber an meine Grenzen und komme hier nicht weiter. In der Spalte E stehen Zahlenwerte. Die gelb Markierten Felder möchte ich immer wenn der Wert grösser 1 ist vom oberen Feld kopieren und einfügen.
Userbild
Beispiel: E2 wird der Wert 2 gefunden. Kopiere C2 nach C3. Dies soll so durchlaufen von oben nach unten. Am Schluss sollte es so wie beim 2. Bild aussehen.
Userbild
Hinbekommen habe ich die Abfrage über den Wert grösser 1. Ebenfalls das ich in Spalte F was einfügen („Früchte“)kann.
Sub finden2()
Dim i As Integer
For i = 2 To 10
If Cells(i, 5).Value > 1 Then
Cells(i, 6).Value = "Früchte"
End If
Next
End Sub

Für eure Hilfe wäre ich sehr dankbar. Wenn Ihr die Schritte noch auskommentieren könntet wäre super.
Gruss Roland
Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: Wenn Wert grösser 1 dann...
06.03.2017 07:34:26
Rainer
Hallo Roland,
nimm doch einfach Spalte D als Hilfsspalte:

D2 =WENN(E2>1;C1;C2)
Kann man auch mit VBA machen, aber lohnt es sich?

For i = 2 To 10
If Cells(i, 5).Value > 1 Then
Cells(i, 3).Value = Cells(i - 1, 3).Value
End If
Next
Gruß,
Rainer
Anzeige
AW: Wenn Wert grösser 1 dann...
06.03.2017 07:45:42
Gerd
Hallo Roland,
bei diesem Konstrukt ist es unnötig, in E2 zu prüfen. Die Zeilenvariable sollte vom Typ Long sein,
falls es mal "longer" wird. :-)
Sub finden4()
Dim zeile As Long
For zeile = 3 To 10
If Cells(zeile, 5).Value > 1 Then
Cells(zeile, 3).Value = Cells(zeile - 1, 3).Value
End If
Next
End Sub
Gruß Gerd
Anzeige
AW: Wenn Wert grösser 1 dann...
06.03.2017 08:07:39
Roland
Hallo Rainer und Gerd
Meine Güte das geht ja schnell hier ;-)
Herzlichen Dank, damit komm ich weiter.
;

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

Infobox / Tutorial

Werte in Excel verarbeiten: Wenn größer als 1


Schritt-für-Schritt-Anleitung

  1. Öffne Excel und erstelle eine neue Tabelle oder benutze eine bestehende.
  2. Gib in Spalte E die Zahlenwerte ein, die du überprüfen möchtest.
  3. Gib in Spalte C die Werte ein, die kopiert werden sollen, wenn die Bedingung erfüllt ist.
  4. Verwende die folgende VBA-Formel, um die Werte zu überprüfen und bei Bedarf zu kopieren:

    Sub finden2()
       Dim i As Integer
       For i = 2 To 10
           If Cells(i, 5).Value > 1 Then
               Cells(i, 3).Value = Cells(i - 1, 3).Value
           End If
       Next
    End Sub
  5. Füge den Code in das VBA-Editor-Fenster ein (Alt + F11) und führe das Makro aus.

Häufige Fehler und Lösungen

  • Fehler: Das Makro funktioniert nicht.

    • Lösung: Stelle sicher, dass du den Code im richtigen Modul eingefügt hast und dass die Zellen die richtigen Werte enthalten.
  • Fehler: Die Werte werden nicht korrekt kopiert.

    • Lösung: Überprüfe die Bedingungen in deiner If-Anweisung. Stelle sicher, dass die Zellreferenzen korrekt sind.

Alternative Methoden

Eine praktische Alternative zur Verwendung von VBA ist die Verwendung einer Excel-Formel:

  • In Spalte D kannst du folgende Formel verwenden, um den Wert aus der vorherigen Zeile zu kopieren, wenn der Wert in Spalte E größer als 1 ist:

    =WENN(E2>1;C1;C2)

Diese Methode ist schneller, wenn du einfach nur mit Formeln arbeiten möchtest und keine Programmierung benötigst.


Praktische Beispiele

Angenommen, du hast folgende Werte in Spalte E:

E C
0 Apfel
2 Banane
3 Traube
1 Kiwi

Mit der VBA-Formel oder der Excel-Formel wird das Ergebnis in Spalte C wie folgt aussehen:

E C D
0 Apfel Apfel
2 Banane Banane
3 Traube Traube
1 Kiwi Traube

Tipps für Profis

  • Verwenden von Long anstelle von Integer: Wenn du mit größeren Datensätzen arbeitest, ist es besser, die Zeilenvariable als Long zu deklarieren, um mögliche Überläufe zu vermeiden.

  • Fehlerbehandlung: Füge Fehlerbehandlungsroutinen in deinen VBA-Code ein, um unerwartete Fehler abzufangen und zu behandeln.


FAQ: Häufige Fragen

1. Wie kann ich die VBA-Formel anpassen, um mehr Zeilen zu überprüfen?
Du kannst den Bereich in der For-Schleife ändern, zum Beispiel For i = 2 To 50, um bis zur Zeile 50 zu überprüfen.

2. Funktioniert das auch in Excel Online?
VBA-Skripte funktionieren nicht in Excel Online. Du musst die Standardformeln verwenden oder Excel Desktop für VBA verwenden.

3. Kann ich die Formel in einem anderen Format verwenden?
Ja, die WENN-Formel kann auch in anderen Formaten angepasst werden, um unterschiedliche Bedingungen zu überprüfen, wie z.B. WENN(E2>=1;C1;C2).

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