Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
680to684
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
680to684
680to684
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Zeilen kopieren

Zeilen kopieren
13.10.2005 15:02:51
Dominik
Hallo Experten!
Folgendes:
Aus einer Tabelle werden Rows mit dem Wert A oder B in einer Spalte gesucht und kopiert. Wenn nun der Wert A gefunden wurde, sollen die ganzen Zeilen die gefunden wurden in der neuen Tabelle eingefügt werden.
Hier der Code:
-------------------------------------

Sub Kopieren()
Dim Bereich As Range
Dim Tabelle As Worksheet
Const Titel = "Zeilen Kopieren mit Wert"
Const Msg = "Bitte geben Sie, nach wem gesucht werden soll (A oder B)."
Dim i As Long
Dim tofind As Variant
tofind = InputBox(prompt:=Msg, Title:=Titel)
If tofind = "" Then Exit Sub
Application.ScreenUpdating = False
For i = Tabelle1.Cells.SpecialCells(xlCellTypeLastCell).Row To 1 Step -1
Set Bereich = Rows(i).Find(what:=tofind, LookIn:=xlValues, lookat:=xlWhole)
If Not Bereich Is Nothing Then Rows(i).Copy
Next
Application.ScreenUpdating = True
If tofind = "A" Then
Set Tabelle = Worksheets.Add _
(After:=Worksheets(Worksheets.Count))
Tabelle.Name = "Neu"
End If
Cells(Rows.Count, 2).End(xlUp).Offset(1, -1).Select
ActiveSheet.Paste
End Sub

-------------------------------------
Nun aber folgendes Problem:
Es wird nur die erste Zeile, die den Wert A besitzt, kopiert und in der neuen Tabelle eingefügt. Es sollten aber ALLE Zeilen mit dem Wert A sein.
Wie muss ich meinen Code verändern, damit es funktioniert?
Vielen Dank!
Gruß, Dominik

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zeilen kopieren
13.10.2005 16:27:05
joko0803
Hallo dominik,
nach langem Probieren ... *gg*
Das nachfolgnde Makro geht davon aus, dass alle Kennzeichen "A" oder "B" in der gleichen Spalte stehen.
Gruß
John

Sub Kopieren()
Dim Bereich As Range
Dim shtTarget As Worksheet
Dim Tabelle1 As Worksheet
Dim Spalte As Single
Const Titel = "Zeilen Kopieren mit Wert"
Const Msg = "Bitte geben Sie, nach wem gesucht werden soll (A oder B)."
Dim i As Long
Dim tofind As Variant
tofind = InputBox(prompt:=Msg, Title:=Titel)
If tofind = "" Then Exit Sub
Application.ScreenUpdating = False
Set Tabelle1 = ActiveSheet
Spalte = Cells.Find(What:=tofind, After:=ActiveCell, LookIn:=xlValues, LookAt:= _
xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False) _
.Column
For i = 1 To Tabelle1.Cells.SpecialCells(xlCellTypeLastCell).Row Step 1
If Tabelle1.Cells(i, Spalte) = tofind Then
Tabelle1.Cells(i, Spalte).EntireRow.Copy
If Zähler = Empty Then
Sheets.Add After:=Sheets(Sheets.Count)
Set shtTarget = Sheets(Sheets.Count)
shtTarget.Name = "Neu"
Zähler = 1
End If
Zeile = Zeile + 1
shtTarget.Activate
Rows(Zeile).Select
ActiveSheet.Paste
End If
Next
Application.ScreenUpdating = True
End Sub

Anzeige
AW: Zeilen kopieren
13.10.2005 16:41:36
Dominik
Wunderbar, VIELEN VIELEN Dank!
Nun gehts zum nächsten Problem :)
Sagen wir, der Wert B besteht aus vielen "Zeichenketten", also z.b. ABC, DEF, GEH usw.
Man könnte sagen, dass die "Abteilung B" die "Angestellten ABC, DEF, GEH" etc. beinhaltet. Kann ich das irgendwie deklarieren in VBA ?
Weil mit Gruppe B soll das Selbe geschehen wie mit A, alle Zeilen in denen B (also da steht nicht B, sondern da stehen die Sachen die in die "gruppe b" sollen) steht sollen heraus kopiert werden und in ein neues Blatt eingefügt werden
gruß, dominik
AW: Zeilen kopieren
13.10.2005 16:58:02
joko0803
Dominik,
wenn ich dich richtig verstehe möchtest du eine andere Spalte abfrage, die du Gruppe "B" nennst. Dort sind verschiedene Werte drin, aus denen einige, nicht alle in ein neues Arbeitsblatt sollen.
Die einfachste Weise wäre ja, dass du alle die in "B" sollen in einer neuen Spalte ein "B" in die betreffenden Zeilen schreibst und dann diesen VBA-Code drüber laufen lässt.
Ansonsten müsstest du mit dem Array arbeiten und alle betreffenden Werte in den Array schreiben. So weit mein Verständnis.
Allerdings sollte dir da jemand helfen der sich in VBA besser auskennt als ich. Sorry
Deinen Beitrag stelle ich deshalb noch mal auf "offen".
Gruß
John
Anzeige
AW: Zeilen kopieren
13.10.2005 17:04:50
Dominik
Hallo!
Gruppe A ist eine Person
Gruppe B sind mehrere Personen (ca. 15)
Abfrage öffnet sich nach was gesucht werden soll (A oder B) Wenn A, dann alle mit A in Spalte G in neue Tabelle (was wir jetzt schon haben). Wenn aber B, dann alle Zeilen mit B (was aus hans, jörg, tim etc.) besteht in neue Tabelle.
Hoffe das ist nun ein wenig verständlicher :)
Vllt guckt hier ja noch jemand rein der helfen könnte? :)
Gruß, Dominik
AW: Zeilen kopieren
13.10.2005 17:31:22
joko0803
Hallo Dominik.
in meinem Makro war noch ein kleienr Fehler. Es hatte nicht nach dem ganzen Zellinhalt gesucht.
Tausche bitten den entsprechenden Part aus, dann sucht es nur nach ganzen Zellen und somit müsste auch dein Problem mit den "B" gelöst sein ...
Gruß
John
falls nein, dann bitte die Frage noch mal offen stellen.
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige