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

Forumthread: Zeilen mit bestimmten Wert kopieren und einfügen

Zeilen mit bestimmten Wert kopieren und einfügen
25.07.2004 18:51:03
Julia
Hallo excel-Freunde,
und wieder brauche ich eure Hilfe... und hoffe das ich sie finde...
Mein Problemm:
ich möchte alle Zeilen in der Tabelle 1 wo in der Spalte D String "Total" steht kopieren und in die Tabelle 2 einfügen...
Das muss doch ganz beistimmt irgend wie gehen...
ich habe versucht das hinzubekommen, aber es geht leider nicht :(
Habt ihr vielleicht irgendwelche Idee?
Viele Grüße
Julia
Anzeige

13
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zeilen mit bestimmten Wert kopieren und einfügen
Ulf
Autofilter, filtern nach total, nur sichtbare Zellen kopieren.
Ulf
AW: Zeilen mit bestimmten Wert kopieren und einfügen
25.07.2004 19:12:04
Nepumuk
Hallo Julia,
versuch es mal damit:


Option Explicit
Public Sub proc_kopieren_Total()
    Dim myRange As Range
    Dim strAddress As String
    Dim lngCounter As Long
    Set myRange = Worksheets("Tabelle1").Columns(4).Find(What:="Total", After:=Worksheets("Tabelle1").Cells(Rows.Count, 4), LookAt:=xlWhole)
    If Not myRange Is Nothing Then
        strAddress = myRange.Address
        Do
            lngCounter = lngCounter + 1
            With Worksheets("Tabelle2")
                Worksheets("Tabelle1").Rows(myRange.Row).Copy .Rows(.Cells(Rows.Count, 4).End(xlUp).Row + 1)
            End With
            Set myRange = Worksheets("Tabelle1").Columns(4).FindNext(myRange)
        Loop While Not myRange Is Nothing And myRange.Address <> strAddress
        MsgBox CStr(lngCounter) & " Zeilen kopiert.", 64, "Information"
    Else
        MsgBox "Keine Daten zum kopieren gefunden.", 48, "Hinweis"
    End If
End Sub


Gruß
Nepumuk
Anzeige
AW: Zeilen mit bestimmten Wert kopieren und einfügen
25.07.2004 19:33:34
Julia
Hallo,
danke, aber es funktioniert nicht: an dieser Stelle giebt er mir Fehler aus:
Set myRange = Worksheets("Planning CT_SIT").Columns(4).FindNext(myRange)
Ich weiß nicht an was es liegt... sieht eigentlich richtig aus....
Gruß
AW: Zeilen mit bestimmten Wert kopieren und einfügen
25.07.2004 19:36:38
Nepumuk
Hallo Julia,
wie lautet die Fehlermeldung genau?
Gruß
Nepumuk
Anzeige
AW: Zeilen mit bestimmten Wert kopieren und einfügen
25.07.2004 21:20:21
Julia
Hallo,
Fehler lautet: Index ausserhalb des gültigen Bereichs.. Fehler nr 9..
?
AW: Zeilen mit bestimmten Wert kopieren und einfügen
25.07.2004 21:23:05
Nepumuk
Hallo Julia,
überprüfe den Tabellennamen. Möglicherweise ist am Anfang oder Ende noch ein zusätzliches Leerzeichen mit drin.
Gruß
Nepumuk
AW: Zeilen mit bestimmten Wert kopieren und einfügen
25.07.2004 21:33:22
Julia
Hallo ihr beide,
stimmt ja, da warst tatsächlich was mit Namen nicht in Ordnung, er macht das jetzt. DANKE :)
Aber noch eine kleine Frage, er copiert alles also mit Formeln, deswegen zeigt er nach dem Einfügen da wo die Formeln standen BEZUG, wie kann ich im Code schreiben, dass er nur Inhalte (werte) einfügt. Wisst ihr das vielleicht?
Gruß
Julia
Anzeige
AW: Zeilen mit bestimmten Wert kopieren und einfügen
25.07.2004 21:46:55
Nepumuk
Hallo Julia,
ich schon:


Option Explicit
Public Sub proc_kopieren_Total()
    Dim myRange As Range
    Dim strAddress As String
    Dim lngCounter As Long
    Set myRange = Worksheets("Tabelle1").Columns(4).Find(What:="Total", After:=Worksheets("Tabelle1").Cells(Rows.Count, 4), LookAt:=xlWhole)
    If Not myRange Is Nothing Then
        strAddress = myRange.Address
        Do
            lngCounter = lngCounter + 1
            With Worksheets("Tabelle2")
                .Range(.Cells(.Cells(Rows.Count, 4).End(xlUp).Row + 1, 1), .Cells(.Cells(Rows.Count, 4).End(xlUp).Row + 1, 256)) = Worksheets("Tabelle1").Range(Worksheets("Tabelle1").Cells(myRange.Row, 1), Worksheets("Tabelle1").Cells(myRange.Row, 256)).Value
            End With
            Set myRange = Worksheets("Tabelle1").Columns(4).FindNext(myRange)
        Loop While Not myRange Is Nothing And myRange.Address <> strAddress
        MsgBox CStr(lngCounter) & " Zeilen kopiert.", 64, "Information"
    Else
        MsgBox "Keine Daten zum kopieren gefunden.", 48, "Hinweis"
    End If
End Sub


Gruß
Nepumuk
Anzeige
AW: Zeilen mit bestimmten Wert kopieren und einfügen
25.07.2004 22:27:20
Julia
Hallo Nepumuk,
ja es hat wohl geklappt, ich muss da noch was anpassen, aber sonst funktioniert...
Wenn ich ehrlich bin,... ich verstehe nicht so ganz was du da gemacht hast...
aber tatsache es funktioniert :) ich muss noch genau reinschauen, vielleicht werde ja doch noch was verstehen... :)...
VIELEN DANK... ;)
Viele Grüße
Julia
Anzeige
hilfe::::
25.07.2004 23:32:30
Julia
Hallo noch Mal.
ich versuche Code so zu ändern, dass Bereich immer in gleiche stelle eingefügt wird, und nicht nach der letzte Zeile...
komischer weise wenn ich so ändere, wird es bei mir gar nichts angezeigt...
.Cells(11, 1) = Worksheets("Planning CT_SIT").Range(Worksheets("Planning CT_SIT").Cells(myRange.Row, 1), Worksheets("Planning CT_SIT").Cells(myRange.Row, 256)).Value
kannst du mir vielleicht sagen was ich falsch mache?
Gruß
Anzeige
AW: hilfe::::
26.07.2004 16:16:04
Nepumuk
Hallo Julia,
ab welcher Zeile sollen die Einträge in Tabelle2 eingefügt werden?
Gruß
Nepumuk
AW: hilfe::::
26.07.2004 16:27:09
Julia
hallo,
ab Zeile 2.
eigentlich habe ich das Problem so gelöst, dass ich immer die Function aufrufe, die doppetlte Einträge löscht...
ich danke dir...
jetzt habe ich wieder andere Probleme...
ich schreibe sie im neuen Beitrag...
Viele Grüße
Julia
Anzeige
AW: Zeilen mit bestimmten Wert kopieren und einfügen
Ulf
Dann stimmt der Blattname nicht, vielleicht Leerzeichen drin?
Ulf
;

Forumthreads zu verwandten Themen

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

Zeilen mit bestimmten Werten in Excel kopieren und einfügen


Schritt-für-Schritt-Anleitung

Um in Excel nur Zeilen mit bestimmten Inhalten zu kopieren und in eine andere Tabelle einzufügen, kannst du die folgende Schritt-für-Schritt-Anleitung nutzen:

  1. Öffne Excel und gehe zur Tabelle, aus der du die Zeilen kopieren möchtest (z.B. "Tabelle1").

  2. Aktiviere den VBA-Editor:

    • Drücke ALT + F11, um den VBA-Editor zu öffnen.
  3. Füge ein neues Modul hinzu:

    • Klicke mit der rechten Maustaste auf "VBAProject (dein Arbeitsmappenname)" und wähle "Einfügen" > "Modul".
  4. Kopiere den folgenden VBA-Code in das Modul:

    Option Explicit
    
    Public Sub proc_kopieren_Total()
       Dim myRange As Range
       Dim strAddress As String
       Dim lngCounter As Long
    
       Set myRange = Worksheets("Tabelle1").Columns(4).Find(What:="Total", After:=Worksheets("Tabelle1").Cells(Rows.Count, 4), LookAt:=xlWhole)
    
       If Not myRange Is Nothing Then
           strAddress = myRange.Address
           Do
               lngCounter = lngCounter + 1
               With Worksheets("Tabelle2")
                   .Range(.Cells(.Cells(Rows.Count, 4).End(xlUp).Row + 1, 1), .Cells(.Cells(Rows.Count, 4).End(xlUp).Row + 1, 256)) = Worksheets("Tabelle1").Range(Worksheets("Tabelle1").Cells(myRange.Row, 1), Worksheets("Tabelle1").Cells(myRange.Row, 256)).Value
               End With
               Set myRange = Worksheets("Tabelle1").Columns(4).FindNext(myRange)
           Loop While Not myRange Is Nothing And myRange.Address <> strAddress
           MsgBox CStr(lngCounter) & " Zeilen kopiert.", 64, "Information"
       Else
           MsgBox "Keine Daten zum kopieren gefunden.", 48, "Hinweis"
       End If
    End Sub
  5. Schließe den VBA-Editor und gehe zurück zu Excel.

  6. Führe das Makro aus:

    • Drücke ALT + F8, wähle proc_kopieren_Total aus und klicke auf "Ausführen".

Häufige Fehler und Lösungen

  • Fehler: „Index außerhalb des gültigen Bereichs“
    Überprüfe den Tabellennamen, um sicherzustellen, dass er korrekt geschrieben ist und keine zusätzlichen Leerzeichen enthält.

  • Fehler bei der Ausführung des Codes
    Wenn die Zeilen nicht korrekt kopiert werden, vergewissere dich, dass die Spalte, die du filterst (in diesem Fall Spalte D), tatsächlich die gesuchten Werte ("Total") enthält.


Alternative Methoden

  • Mit Autofilter:
    Du kannst die Autofilter-Funktion in Excel nutzen, um nur die Zeilen mit bestimmten Inhalten anzuzeigen. Wähle die Daten aus, gehe zu "Daten" > "Filter" und wähle die entsprechenden Kriterien aus.

  • Manuelles Kopieren:
    Du kannst auch die gewünschten Zeilen manuell auswählen, indem du die STRG-Taste gedrückt hältst und die relevanten Zeilen anklickst. Danach mit STRG + C kopieren und in die Ziel-Tabelle einfügen.


Praktische Beispiele

  • Wenn du alle Zeilen mit dem Wert "Total" in Spalte D von "Tabelle1" nach "Tabelle2" kopieren möchtest, nutze den oben genannten VBA-Code.
  • Um nur bestimmte Zellen mit Inhalten zu kopieren, kannst du die .Value-Eigenschaft wie gezeigt anpassen.

Tipps für Profis

  • Optimierung des Codes: Passe den VBA-Code an, um nur Werte zu kopieren, anstatt Formeln. Dies kannst du erreichen, indem du .Value anstelle von .Copy verwendest.

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


FAQ: Häufige Fragen

1. Wie kann ich nur Zeilen mit bestimmten Inhalten in Excel anzeigen?
Du kannst die Autofilter-Funktion nutzen, um nur die Zeilen anzuzeigen, die deinen Kriterien entsprechen.

2. Wie kopiere ich in Excel nur die Werte und nicht die Formeln?
Verwende den .Value-Zugriff in deinem VBA-Code, um nur die Werte zu kopieren.

3. Was mache ich, wenn der VBA-Code nicht funktioniert?
Überprüfe die Namen deiner Tabellen und stelle sicher, dass die gesuchten Werte in der angegebenen Spalte vorhanden sind.

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