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

Zellinhalt kopieren wenn Zeichen in Zelle vorhande

Forumthread: Zellinhalt kopieren wenn Zeichen in Zelle vorhande

Zellinhalt kopieren wenn Zeichen in Zelle vorhande
06.06.2016 07:42:57
Lisa
Hallo ihr Lieben,
ich bräuchte ein weiteres Mal eure Hilfe.
Habe schon so einiges versucht, aber es will nicht klappen.
Ich habe zwei Spalten, in einer von den beiden steht "Masse: ..... kg" oder "ca. ... kg" die Anzahl der Zeichen für ... variieren.
Nun möchte ich die Zelle aus der ersten Spalte nur kopieren, wenn ein von den oben angegebenen Begriffen in der Zelle steht. Wenn einer der Begriffe in der zweiten spalte stehen soll diese Zelle kopiert werden.
Wenn in keinen der Beiden Zellen einer der Begriffe steht, dann soll keine der beiden Zellen kopiert werden.
Ich hoffe ihr versteht was ich meine.
Liebe Grüße Lisa

Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: Beispieltabelle wäre hilfreich...
06.06.2016 08:06:34
JoWE

Trefferauflistung aus 2 Spalten
06.06.2016 08:30:58
WF
Hi,
nach "Masse" bzw. "ca." zu suchen ist überflüssig, da "kg" ja alleine schon entscheidet.
In der Hilfsspalte H in H1 folgende Array-Formel:
{=KKLEINSTE(WENN(ISTZAHL(FINDEN("kg";A$1:B$99));ZEILE(X$1:X$99));ZEILE(X1))}
runterkopieren
Das Ergebnis dann in C1:
=WENN(ISTZAHL(FINDEN("kg";INDEX(A:A;H1)));INDEX(A:A;H1);INDEX(B:B;H1))
und in C2:
=WENN(H2=H1;INDEX(B:B;H2);WENN(ISTZAHL(FINDEN("kg";INDEX(A:A;H2)));INDEX(A:A;H2);INDEX(B:B;H2)))
C2 runterkopieren
WF

Anzeige
AW: Zellinhalt kopieren wenn Zeichen in Zelle vorhande
06.06.2016 08:38:01
Bernd
Hi,
ich weiß zwar nicht ob ich es Verstanden habe, aber mal ein Beispiel:
=WENN(ZÄHLENWENN(A1;"*Masse*");A1;WENN(ZÄHLENWENN(A1;"*ca.*");A1;WENN(ZÄHLENWENN(B1;"*Masse*");B1; WENN(ZÄHLENWENN(B1;"*ca.*");B1;""))))
Wenns falsch ist, ignorieren :-)
mfg Bernd

AW: Zellinhalt kopieren wenn Zeichen in Zelle vorhande
06.06.2016 09:41:17
Lisa
Danke für eure Hilfe, aber ich hätte vielleicht erwähnen sollen, das ich das ganze via VBA lösen möchte. Sorry.
Hier habe ich eine Beispieldatei:
https://www.herber.de/bbs/user/106010.xlsx
Ich hoffe ihr helft mir weiter :-)

Anzeige
AW: Zellinhalt kopieren wenn Zeichen in Zelle vorhande
06.06.2016 10:21:26
Nepumuk
Hallo,
weil du nicht geschrieben hast wohin kopiert werden soll, habe ich mal die Spalte C genommen:
Option Explicit

Public Sub Kopiere()
    Dim lngRow As Long
    For lngRow = 2 To Cells(Rows.Count, 1).End(xlUp).Row
        If Cells(lngRow, 1).Value Like "*Masse*kg" Or _
            Cells(lngRow, 1).Value Like "*ca.*kg" Then _
            Call Cells(lngRow, 1).Copy(Destination:=Cells(lngRow, 3))
        If Cells(lngRow, 2).Value Like "*Masse*kg" Or _
            Cells(lngRow, 2).Value Like "*ca.*kg" Then _
            Call Cells(lngRow, 2).Copy(Destination:=Cells(lngRow, 3))
    Next
End Sub

Gruß
Nepumuk

Anzeige
AW: Zellinhalt kopieren wenn Zeichen in Zelle vorhande
06.06.2016 10:28:38
Lisa
Japsi, klappt wunderbar.
Danke für die Hilfe!
;
Anzeige
Anzeige

Infobox / Tutorial

Zellinhalt kopieren bei bestimmten Zeichen in Excel


Schritt-für-Schritt-Anleitung

Um Zellinhalte in Excel zu kopieren, wenn bestimmte Zeichen in den Zellen vorhanden sind, kannst Du folgende Schritte befolgen:

  1. Öffne Excel und lade Deine Tabelle.

  2. Aktiviere die Entwicklertools: Gehe zu Datei > Optionen > Menüband anpassen, und aktiviere das Kontrollkästchen „Entwicklertools“.

  3. Füge ein neues Modul hinzu:

    • Klicke auf Entwicklertools > Visual Basic.
    • Im VBA-Editor, Rechtsklick auf VBAProject (DeineDatei.xlsx) > Einfügen > Modul.
  4. Kopiere den folgenden Code in das neue Modul:

    Option Explicit
    
    Public Sub Kopiere()
       Dim lngRow As Long
       For lngRow = 2 To Cells(Rows.Count, 1).End(xlUp).Row
           If Cells(lngRow, 1).Value Like "*Masse*kg" Or _
              Cells(lngRow, 1).Value Like "*ca.*kg" Then
               Cells(lngRow, 1).Copy Destination:=Cells(lngRow, 3)
           End If
           If Cells(lngRow, 2).Value Like "*Masse*kg" Or _
              Cells(lngRow, 2).Value Like "*ca.*kg" Then
               Cells(lngRow, 2).Copy Destination:=Cells(lngRow, 3)
           End If
       Next
    End Sub
  5. Schließe den VBA-Editor und gehe zurück zu Excel.

  6. Führe das Makro aus: Gehe zu Entwicklertools > Makros, wähle Kopiere aus und klicke auf Ausführen.


Häufige Fehler und Lösungen

  • Problem: Das Makro wird nicht ausgeführt.

    • Lösung: Überprüfe, ob Makros in Deinen Excel-Einstellungen aktiviert sind.
  • Problem: Zellen werden nicht kopiert.

    • Lösung: Stelle sicher, dass die Bedingungen im Code korrekt sind. Überprüfe, ob die Suchbegriffe („Masse“ oder „ca.“) in den Zellen vorhanden sind.

Alternative Methoden

Wenn Du kein VBA verwenden möchtest, kannst Du auch eine Formel nutzen:

  1. In einer Hilfsspalte (z.B. Spalte C) kannst Du folgende Formel einsetzen:

    =WENN(ODER(ZÄHLENWENN(A1;"*Masse*")>0; ZÄHLENWENN(A1;"*ca.*")>0); A1; WENN(ODER(ZÄHLENWENN(B1;"*Masse*")>0; ZÄHLENWENN(B1;"*ca.*")>0); B1; ""))
  2. Diese Formel überprüft die Zellen A1 und B1 und gibt den Inhalt zurück, wenn die Bedingungen erfüllt sind.


Praktische Beispiele

Angenommen, Du hast in Spalte A und B folgende Inhalte:

A B
Masse: 5 kg N/A
ca. 10 kg Masse: 15 kg
20 kg ca. 25 kg

Nach Anwendung des Makros oder der Formel in Spalte C wäre das Ergebnis:

C
Masse: 5 kg
Masse: 15 kg
ca. 25 kg

Tipps für Profis

  • Verwende Sonderzeichen zum Kopieren: Wenn Du mit speziellen Zeichen arbeitest, achte darauf, dass Du die richtigen Platzhalter verwendest (z.B. * für beliebige Zeichen).
  • Optimierung des Codes: Du kannst den VBA-Code weiter optimieren, um die Leistung zu verbessern, besonders bei großen Datenmengen.

FAQ: Häufige Fragen

1. Kann ich die Zellen in eine andere Spalte als C kopieren? Ja, Du kannst die Zielspalte im VBA-Code oder in der Formel anpassen, indem Du die Zielzelle entsprechend änderst.

2. Funktioniert das in allen Excel-Versionen? Ja, die oben genannten Methoden sind in den meisten modernen Excel-Versionen anwendbar, einschließlich Excel 2016, 2019 und Office 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