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

Forumthread: Wert kopieren wenn bedingung erfüllt

Wert kopieren wenn bedingung erfüllt
09.03.2016 16:00:41
tom91i
Hallo zusammen,
da ich noch ein ziemlicher VBA-Neuling bin könnte ich dringend eure Hilfe gebrauchen. Ich versuche seit 2 Tagen vergeblich für folgendes Problem einen Makro anhand VBA zu erstellen:
Ich habe eine Tabelle die in der Zeilenanzahl stark variiert (1000-10.000). Nun habe ich 2 Werte in der Spalte H (1Y und 2Y), wenn einer der beiden vorkommt sollte in die Spalte E auf gleicher Zeilenebene "*********" eingetragen werden. Der Trick nun ist zudem dass teilweise in der Spalte E, in der Zeile neben 2Y schon Werte stehen, die müssten natürlich umbedingt beibehalten werden und nur die leeren Zeilen mit "*********" befüllt werden.
Falls mir irgendwer hier weiterhelfen könnte wäre das super!! Langsam schon der Verzweiflung nahe :/
Beste Grüße
Thomas

Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: geht mit einer Formel ... und ...
09.03.2016 16:15:49
...
Hallo Thomas,
... angenommen die erste leere Zelle in Spalte E sei E1.
Markiere die gesamte Spalte E. Betätige [F5] und dort aktiviere "Inhalte" wähle nun "Leerzellen" dann "ok
Nun sind nur die leeren Zellen in Spalte E markiert. Schreibe in die Eingabezeile folgende Formel:
=WENN((H1="1Y")+(H1="2Y");"*******";"") und betätige die Tastenkombination Strg+Enter und ... fertig.
Wenn die erste leer Zelle die Zelle z.B. E3 ist dann eben folgende Formel: =WENN((H3="1Y")+(H3="2Y");"*******";"")
Gruß Werner
.. , - ...

Anzeige
AW: Wert kopieren wenn bedingung erfüllt
09.03.2016 16:34:34
UweD
Hallo
so?

Sub Makro3()
Dim RR
With ActiveSheet
RR = .Cells.SpecialCells(xlCellTypeLastCell).Row 'Letzte Zeile des gesamten Blattes
.Range("E2:H" & RR).AutoFilter Field:=4, Criteria1:="=1Y", _
Operator:=xlOr, Criteria2:="=2Y"
.Range("E2:H" & RR).AutoFilter Field:=1, Criteria1:="="
If WorksheetFunction.CountA(.Range("H2:H" & RR)) > 0 Then
.Range("E2:E" & RR).Formula = "*******"
End If
.Range("E2:E" & RR).AutoFilter Field:=4
.Range("E2:H" & RR).AutoFilter Field:=1
End With
End Sub
Gruß UweD

Anzeige
AW: Wert kopieren wenn bedingung erfüllt
10.03.2016 08:19:46
tom91i
Hallo UweD und Werner,
beide Möglichkeiten funktionieren bestens, muss aber hierfür nen Makro verwenden da ein Formular draus werden soll.
Allerbesten Dank habt mir meinen Tag gerettet :)
Beste Grüße
Thomas
;

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
Anzeige

Infobox / Tutorial

Werte aus Zellen kopieren, wenn die Bedingung erfüllt ist


Schritt-für-Schritt-Anleitung

Um in Excel einen Wert aus einer anderen Zelle zu übernehmen, wenn eine bestimmte Bedingung erfüllt ist, kannst Du die folgende Methode verwenden:

  1. Spalte markieren: Wähle die gesamte Spalte aus, in der Du die Werte einfügen möchtest (z.B. Spalte E).
  2. Leere Zellen finden: Drücke F5, wähle "Inhalte" und klicke auf "Leerzellen".
  3. Formel eingeben: Gib die folgende Formel in die Eingabezeile ein:
    =WENN((H1="1Y")+(H1="2Y");"*******";"")

    (Ersetze "H1" durch die entsprechende Zelle in der ersten Zeile Deiner Tabelle).

  4. Formel anwenden: Drücke Strg + Enter, um die Formel in allen markierten Zellen anzuwenden.

Diese Methode ermöglicht es Dir, Werte aus einer anderen Zelle zu übernehmen, wenn die Bedingung erfüllt ist.


Häufige Fehler und Lösungen

Fehler 1: Die Formel funktioniert nicht.

  • Lösung: Stelle sicher, dass Du die richtige Schreibweise und die korrekten Zellreferenzen verwendest.

Fehler 2: Die leeren Zellen werden nicht erkannt.

  • Lösung: Versichere Dich, dass Du die Zellen tatsächlich als leer markiert hast und dass Du die richtigen Filtereinstellungen verwendest.

Alternative Methoden

Eine alternative Methode, um Werte aus einer anderen Tabelle zu übernehmen, wenn eine Bedingung erfüllt ist, ist die Verwendung von VBA. Hier ist ein Beispiel eines VBA-Skripts:

Sub MakroWerteÜbernehmen()
    Dim RR
    With ActiveSheet
        RR = .Cells.SpecialCells(xlCellTypeLastCell).Row
        .Range("E2:H" & RR).AutoFilter Field:=4, Criteria1:="=1Y", Operator:=xlOr, Criteria2:="=2Y"
        .Range("E2:H" & RR).AutoFilter Field:=1, Criteria1:="="
        If WorksheetFunction.CountA(.Range("H2:H" & RR)) > 0 Then
            .Range("E2:E" & RR).Formula = "*******"
        End If
        .Range("E2:H" & RR).AutoFilter Field:=4
        .Range("E2:H" & RR).AutoFilter Field:=1
    End With
End Sub

Dieses Skript hilft Dir, Werte aus einer Tabelle zu übernehmen, wenn die Bedingung erfüllt ist.


Praktische Beispiele

  1. Wert aus Zelle übernehmen: Du möchtest den Wert aus der Zelle H1 in E1 einfügen, wenn H1 "1Y" oder "2Y" ist:

    =WENN(ODER(H1="1Y"; H1="2Y"); H1; "")
  2. Werte aus anderer Tabelle übernehmen: Wenn Du einen Wert aus einer anderen Tabelle in Excel übernehmen möchtest, kannst Du die Formel so anpassen:

    =WENN(Tabelle2!H1="1Y"; Tabelle2!A1; "")

Tipps für Profis

  • Nutze die WENN-Funktion in Kombination mit SVERWEIS, um komplexere Bedingungen zu erstellen.
  • Verwende die Funktion FILTER, um Daten aus einer Tabelle zu extrahieren, wenn eine Bedingung erfüllt ist (verfügbar in Excel 365).
  • Experimentiere mit der Formatierung von Zellen, um sofortige visuelle Rückmeldungen zu erhalten, wenn eine Bedingung erfüllt ist.

FAQ: Häufige Fragen

1. Wie kann ich mehrere Bedingungen in einer Formel verwenden? Du kannst die UND oder ODER Funktionen innerhalb Deiner WENN-Formel nutzen, um mehrere Bedingungen zu kombinieren.

2. Welche Excel-Version benötige ich für die Nutzung von VBA? VBA ist in allen gängigen Excel-Versionen verfügbar, einschließlich Excel 2010, 2013, 2016, 2019 und Excel 365.

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