Freigeben über

Excel VBA Makro "suchen und kopieren" anpassen

Anonym
2021-05-11T10:35:21+00:00

Ich habe eine VBA Code gefunden, der gut ist, aber angepasst werden muss.

Der Code erfüllt folgendes:

  • Es erscheint eine Eingabeaufforderung
  • Er sucht in "Tabellenblatt A" in "Spalte A" einen Wert, z.B. "ID-020"
  • Er kopiert die Zeile in "Tabellenblatt B" in Zeile zwei

Problem:

  • Im Ziel "Tabellenblatt B"werden alle Zeilen unterhalb "Zeile 1" gelöscht
  • Schlecht: Hier stehen aber "Steuerelemente" und "Text"

Anpassung:

  • Ich brauche nicht die ganze Zeile kopiert
  • Aus der Quelle werden eigentlich nur vier Zellenwerte der Zeile, also "Ticket-ID" (A+Zeile"), "Ticket-Bezeichnung" (D+Zeile) , "Datum" (S+Zeile) und "PT" (Z+Zeile)) benötigt
  • Am Ziel sollen die Werte in 4 feste Zellen eingetragen werden A1, A2, A3, A4, in Zeile zwei

Code-Link

Forum mit Code Ausführliche Beschreibung Ich möchte eine Ticket-ID (Namen "ID-001" bis "ID-999") in einer Spalte der Tabelle 1 (Quelle) suchen. Suchbegriff z.B. "ID-020" Einige Zellenwerte dieser Zeile des Datensatzes ("Ticket-ID", "Ticket-Bezeichnung", "Datum" und PT") sollen in die Zeile 2 des Tabellenblatt4 (Ziel) kopiert werden. Zeile 1 ist sind die Überschriften.Ab dann verarbeite ich die Werte mit weiteren Makros weiter. ProblemUnterhalb Zeile 2 ist ein Bereich mit Textfelder, Buttons mit denen ich die vier Felder weiterverarbeite (Word Dokument, Email mit Betreffzeile).

Microsoft 365 und Office | Excel | Für Zuhause | Windows

Gesperrte Frage. Diese Frage wurde aus der Microsoft-Support-Community migriert. Sie können darüber abstimmen, ob sie hilfreich ist, aber Sie können keine Kommentare oder Antworten hinzufügen oder der Frage folgen.

0 Kommentare Keine Kommentare
{count} Stimmen

1 Antwort

Sortieren nach: Am hilfreichsten
  1. Andreas Killer 144K Zuverlässigkeitspunkte Freiwilliger Moderator
    2021-05-13T06:45:20+00:00

    So mal vorab,es ist ja nett das Du Dir so viel Mühe machst Dein Anliegen zu beschreiben, aber schlau wird man daraus nicht. Bei den entscheidenden Punkten wirst Du so vage das eine Hilfe eigentlich unmöglich ist.

    Es wäre viel einfacher wenn Du eine Beispieldatei machst und diese auf Deinen OneDrive (oder anderen Filehoster) lädst und uns zur Verfügung stellst.

    So bleibt meine Antwort auch vage und passt ggf. nicht zu Deinem Anliegen:

    Dazu braucht es kein Makro, wenn es nur um eine Zeile geht ist es viel einfacher eine Formel mit VERGLEICH zu erstellen die die passende Zeile sucht und dann via INDEX sich die Werte zu holen.

    Mit VBA geht das genauso, man sucht via RANGE.FIND nach dem Wert und bekommt ein Range Objekt, dort kann man die Zeile abfragen. Wenn Find NOTHING zurückgibt wurde die ID nicht gefunden.

    Set Source = Worksheets("TabelleX").Range("A:A").Find(ID, LookIn:= xlValues, LookAt:=xlWhole)

    Danach kann man die Werte ganz normal in irgendwohin schreiben

    Range("A2") =Worksheets("TabelleX").Range("S" & Source.Row)

    Andreas.

    0 Kommentare Keine Kommentare