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

Forumthread: Wort in Zeile Suchen und Spalte unterhalb kopieren

Wort in Zeile Suchen und Spalte unterhalb kopieren
16.07.2019 23:20:38
Alexander
Hallo,
ich habe ein Problem und benötige eure Hilfe. Schonmal vielen Dank im Voraus für eure Antworten!
Ich habe eine Excel-Datei mit ca. 70.000 Zeilen in welcher Temperatur und Druck im Sekundentakt aufgezeichnet werden. Diese Werte sollen in einem Diagramm dargestellt werden. Soweit kein Problem, solange ich es manuell mache. Da aber jede Woche eine dieser Dateien generiert wird soll das Erstellen des Diagramms automatisch funktionieren.
In den ersten 1 - 40 Zeilen stehen Daten und Parameter die für das Diagramm nicht relevant sind und auch nicht gebraucht werden. Da jeder Versuch andere Parameter hat verschiebt sich der Anfang der relevanten Daten immer um ein paar Zeilen, sodass ich keinen festgelegten Bereich zur Erstellung meines Diagramms bestimmen kann.
Nun dachte ich ich könnte ein VBA Programm schreiben, welches mir die relevanten Zeilen sucht und diese automatisiert in ein zweites Tabellenblatt kopiert. Ich habe es geschafft ein kleines Programm zu schreiben, das mir die Zeile raussucht in der die Überschriften stehen. Hier habe ich konkret nach dem Begriff "Time" gesucht und die Zeile kopiert. Nun schaff ich es aber nicht das auch alle Zeilen die darunter stehen kopiert werden.
Ich hoffe das war verständlich.....
Also es soll einfach Rohdaten in ein Sheet kopiert werden und mit Hilfe eines Buttons sollen die relevanten Spalten aus diesem Sheet in das nächste kopiert werden. Für mich liegt das Problem darin das der Anfang der relevanten Daten immer an einer anderen Stelle ist.
Hoffe es kann mir jemand helfen.
Gruß
Alex
Anzeige

12
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Wort in Zeile Suchen und Spalte unterhalb kopieren
17.07.2019 06:31:50
Daniel
Hallo,
Du musst ja wissen, womit deine relevanten Daten anfangen und womit sie aufhören. Dann kannst du damit deine Range bestimmen und dann einfach Range.Copy destination:=
AW: Beispieldatei ca 100 Zeilen owT
17.07.2019 07:58:33
Fennek
AW: Wort in Zeile Suchen und Spalte unterhalb kopieren
17.07.2019 09:24:44
Daniel
Hi
beispielsweise so, Annahme ist, du suchst nach dem Text der Überschrift in Spalte A:
Range(Columns(1).Find(what:="Time", lookat:=xlwhole).Offset(1, 0), Cells.SpecialCells(xlcelltypelastcell)).Copy
Gruß Daniel
Anzeige
AW: Wort in Zeile Suchen und Spalte unterhalb kopieren
17.07.2019 10:13:56
Daniel
Hallo,
Ja so findest du die zelle unter dem suchbegriff. Aber ist der gesuchte Wert immer der erste nach dem suchbegriff? Und wenn ja wie viele Zellen sollen kopiert werden?
AW: Wort in Zeile Suchen und Spalte unterhalb kopieren
17.07.2019 10:33:35
Daniel
Hi
das .FIND findet ja die Zelle selbst. mit .Offset() kannst du von einer gegebenen Zelle auf die Nachbarzellen referenzieren, wobei positive versatzwerte nach unten bzw rechts gezählt werden und negative nach links bzw oben. (je nachdem ob der Wert bei Zeilen oder Spalten steht)
.SpecialCells(xlcelltypelastcell) ist immer die letzte benutze Zelle auf dem Tabellenblatt.
das ist die Zelle, die du bekommst wenn du STRG+ENDE drückst.
Gruß Daniel
Anzeige
AW: Wort in Zeile Suchen und Spalte unterhalb kopieren
17.07.2019 10:41:56
Alexander
Könnte man die Zellen die kopiert werden anhand der Spalte Time begrenzen? Also die Aufheizphase dauert ca. 15min. Danach startet die Reaktion, hierbei ist die Zeit variabel zwischen 2 und 8 Stunden. Nach Ablauf der Reaktionszeit kühlt der Reaktor ab, das wird aufgezeichnet bis 0 °C. Mein Diagramm soll aber nur laufen bis zum Abkühlen auf ca. 100°C.
Kann man das beim kopieren schon irgendwie begrenzen wenn man vorher in einem Fenster die Reaktionszeit angeben kann?
Anzeige
AW: Wort in Zeile Suchen und Spalte unterhalb kopieren
17.07.2019 10:41:57
Alexander
Könnte man die Zellen die kopiert werden anhand der Spalte Time begrenzen? Also die Aufheizphase dauert ca. 15min. Danach startet die Reaktion, hierbei ist die Zeit variabel zwischen 2 und 8 Stunden. Nach Ablauf der Reaktionszeit kühlt der Reaktor ab, das wird aufgezeichnet bis 0 °C. Mein Diagramm soll aber nur laufen bis zum Abkühlen auf ca. 100°C.
Kann man das beim kopieren schon irgendwie begrenzen wenn man vorher in einem Fenster die Reaktionszeit angeben kann?
Anzeige
AW: Wort in Zeile Suchen und Spalte unterhalb kopieren
17.07.2019 10:54:34
Daniel
ja, kann man sicherlich.
allerdings solltest du jetzt konkret werden und uns mal die Datei zeigen, denn das weitere Vorgehen hängt dann davon ab, wie die Daten vorliegen und wie du genau einschränken willst.
Gruß Daniel
AW: Wort in Zeile Suchen und Spalte unterhalb kopieren
17.07.2019 11:44:03
Alexander
Also eigentlich muss man die Reaktionszeit doch nicht beachten. Es würde reichen wenn man in der Spalte Temperatur den Wert 100°C findet und dort den kopierten Bereich enden lässt. Die Temperatur läuft von 0°C auf 250°C und dann wieder runter.
Die Excel darf ich leider nicht veröffentlichen.
Anzeige
AW: Wort in Zeile Suchen und Spalte unterhalb kopieren
17.07.2019 12:02:19
Daniel
schwierig.
wenn du Zahlenwerte suchst, musst du schon den Wert genau wissen oder die Liste muss in der Suchspalte sortiert sein.
wahrscheinlich musst du hier mit einer Schleife über die Zellen laufen und prüfen, ob von zwei benachbarten Zellen ein Wert größer und ein Wert kleiner als 100 ist.
Gruß Daniel
Anzeige
AW: Wort in Zeile Suchen und Spalte unterhalb kopieren
17.07.2019 12:09:58
Alexander
Ok naja dann begrenze ich es einfach über eine bestimmte Anzahl an Zeilen. Viel Dank für deine Hilfe!
AW: Wort in Zeile Suchen und Spalte unterhalb kopieren
17.07.2019 10:35:34
Alexander
Ok Vielen Vielen Dank! Das funktioniert super! Ich wusste das es doch nicht so schwer sein kann :)
;

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

Wort in Zeile Suchen und Spalte unterhalb kopieren


Schritt-für-Schritt-Anleitung

  1. Öffne deine Excel-Datei: Stelle sicher, dass du die richtigen Daten vorliegen hast und deine Arbeitsmappe bereit ist.

  2. Visual Basic for Applications (VBA) aktivieren: Drücke ALT + F11, um den VBA-Editor zu öffnen.

  3. Neues Modul einfügen: Klicke auf Einfügen > Modul, um ein neues Modul zu erstellen.

  4. VBA-Code einfügen: Kopiere den folgenden Code und füge ihn in das Modul ein:

    Sub ZeilenKopieren()
       Dim Suchbegriff As String
       Dim StartZelle As Range
       Dim EndZelle As Range
       Dim ZielBlatt As Worksheet
    
       Suchbegriff = "Time" ' Hier den Suchbegriff anpassen
       Set StartZelle = Columns(1).Find(what:=Suchbegriff, lookat:=xlWhole).Offset(1, 0)
       Set EndZelle = Cells.SpecialCells(xlCellTypeLastCell)
    
       Range(StartZelle, EndZelle).Copy Destination:=Sheets("Zielblatt").Range("A1") ' Zielblatt anpassen
    End Sub
  5. Anpassungen vornehmen: Ändere den Suchbegriff und das Zielblatt, um es an deine Bedürfnisse anzupassen.

  6. Makro ausführen: Kehre zu Excel zurück, drücke ALT + F8, wähle das Makro ZeilenKopieren und klicke auf Ausführen.


Häufige Fehler und Lösungen

  • Fehler: "Kein Suchbegriff gefunden"

    • Lösung: Stelle sicher, dass der Suchbegriff im angegebenen Bereich vorhanden ist.
  • Fehler: "Zielblatt nicht gefunden"

    • Lösung: Überprüfe den Namen des Zielblatts im VBA-Code und stelle sicher, dass es existiert.
  • Fehler: "Typen-Konflikt"

    • Lösung: Stelle sicher, dass die Zellen, die du kopieren möchtest, die richtigen Datentypen enthalten.

Alternative Methoden

Eine alternative Methode, um Daten in Excel zu suchen und zu kopieren, ist die Verwendung von Excel-Formeln wie FILTER oder INDEX und VERGLEICH. Diese Funktionen können dir helfen, Daten dynamisch zu filtern, ohne VBA zu verwenden.

Beispiel für eine FILTER-Formel:

=FILTER(A1:B100, A1:A100="Time")

Diese Formel sucht nach dem Suchbegriff "Time" in den ersten 100 Zeilen und gibt die entsprechenden Zeilen zurück.


Praktische Beispiele

  1. Daten kopieren basierend auf einem bestimmten Wert: Wenn du nur die Zeilen kopieren möchtest, die einen Wert in der Temperaturspalte unter 100°C haben, kannst du den VBA-Code wie folgt anpassen:

    Sub ZeilenKopierenTemp()
       Dim Zeile As Range
       Dim ZielBlatt As Worksheet
       Set ZielBlatt = Sheets("Zielblatt") ' Zielblatt anpassen
       Dim ZielZeile As Long
       ZielZeile = 1
    
       For Each Zeile In Range("A1:A1000") ' Bereich anpassen
           If Zeile.Value < 100 Then
               Zeile.EntireRow.Copy Destination:=ZielBlatt.Cells(ZielZeile, 1)
               ZielZeile = ZielZeile + 1
           End If
       Next Zeile
    End Sub
  2. Makro für wiederholte Verwendung: Du kannst das Makro in deiner Arbeitsmappe speichern, um es bei Bedarf mehrfach zu verwenden.


Tipps für Profis

  • Optimierung des Codes: Verwende Application.ScreenUpdating = False und Application.Calculation = xlCalculationManual am Anfang des Makros, um die Ausführungsgeschwindigkeit zu erhöhen.

  • Benutzerdefinierte Eingaben: Erstelle ein Eingabefeld, um den Suchbegriff dynamisch anpassen zu können.

  • Verwendung von Schleifen: Nutze Schleifen, um komplexere Anforderungen zu berücksichtigen, wie das Kopieren nur der Zeilen, die bestimmte Bedingungen erfüllen.


FAQ: Häufige Fragen

1. Wie kann ich den Suchbegriff ändern? Du kannst den Suchbegriff im Code unter Suchbegriff = "Time" anpassen.

2. Kann ich das Makro auf mehrere Blätter anwenden? Ja, du kannst den Code in einer Schleife anpassen, um mehrere Blätter zu durchlaufen.

3. Wie kann ich sicherstellen, dass der kopierte Bereich immer aktuell ist? Setze dynamische Bereiche in deinem Code ein, um sicherzustellen, dass immer die neuesten Daten kopiert werden.

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