Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1500to1504
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
Inhaltsverzeichnis

Wenn Wert in Zelle kopiere Zeile

Wenn Wert in Zelle kopiere Zeile
08.07.2016 08:41:07
Maddi
Hallo,
ich bin am Verzweifeln: Ich brauche ein Makro, dass in einem Tabellenblatt in einer Spalte prüft, ob "unausgefertigt" in einer Zelle steht oder ob die Zelle leer ist. Dann soll die ganze zeile in ein anderes Blatt kopiert werden und zwar immer in die unterste Zeile. Ich habe schon im Internet gesucht aber nichts passendes gefunden, bzw bei meinen Makro Kenntnissen kann ich leider auch nichts umschreiben :/
Wäre also super wenn jemand eine Lösung hätte!!!
Danke schon mal :)
LG

20
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Wenn Wert in Zelle kopiere Zeile
08.07.2016 08:55:23
Crazy
Hallo
meinst du so?
hier wird in Spalte A (columns(1)) gesucht ggf. anpassen
Sub test()
Dim c As Range
Dim firstAddress As String
Dim lngZiel As Long
With Worksheets("Tabelle2") 'Zieltabellennamen anpassen
lngZiel = .Cells(.Rows.Count, 1).End(xlUp).Row + 1
Set c = Columns(1).Find("unausgefertigt", LookIn:=xlValues, lookat:=xlWhole)
If Not c Is Nothing Then
firstAddress = c.Address
Do
Rows(c.Row).Copy .Cells(lngZiel, 1)
lngZiel = lngZiel + 1
Set c = Columns(1).FindNext(c)
Loop While Not c Is Nothing And c.Address  firstAddress
End If
End With
End Sub

MfG Tom

Anzeige
AW: Wenn Wert in Zelle kopiere Zeile
08.07.2016 09:11:56
Maddi
Ich habe das Makro jetzt angepasst, aber es funktioniert leider nicht. Habe ich etwas falsches eingegeben?
Sub test()
Dim c As Range
Dim firstAddress As String
Dim lngZiel As Long
With Worksheets("Überprüfung") 'Zieltabellennamen anpassen
lngZiel = .Cells(.Rows.Count, 9).End(xlUp).Row + 1
Set c = Columns(9).Find("unausgefertigt", LookIn:=xlValues, lookat:=xlWhole)
If Not c Is Nothing Then
firstAddress = c.Address
Do
Rows(c.Row).Copy .Cells(lngZiel, 1)
lngZiel = lngZiel + 1
Set c = Columns(9).FindNext(c)
Loop While Not c Is Nothing And c.Address  firstAddress
End If
End With
End Sub

Anzeige
AW: Wenn Wert in Zelle kopiere Zeile
08.07.2016 09:13:57
Maddi
Ich korrigiere: Es klappt, ich habe eine "9" zu viel :D
Aber es werden nur die kopiert, wo unausgefertigt drin steht, kann man noch einbauen, dass die Zeile mit der leeren Zelle auch kopiert wird?
Danke schonmal für deine Hilfe :)

AW: Wenn Wert in Zelle kopiere Zeile
08.07.2016 09:26:58
Crazy
Hallo
das geht zum Beispiel so
du möchtest ja die ganze Zeile kopiert haben
Sub test2()
Dim lngZiel As Long
Dim lngLetzte As Long
Dim rngZelle As Range
Dim rngBereich As Range
lngLetzte = Cells(Rows.Count, 9).End(xlUp).Row
Set rngBereich = Range("I1:I" & lngLetzte)
With Worksheets("Überprüfung")
lngZiel = .Cells(.Rows.Count, 9).End(xlUp).Row + 1
For Each rngZelle In rngBereich
If rngZelle.Value = "unausgefertigt" Or _
rngZelle.Value = "" Then
Rows(rngZelle.Row).Copy .Cells(lngZiel, 1)
lngZiel = lngZiel + 1
End If
Next
End With
End Sub

MfG Tom

Anzeige
AW: Wenn Wert in Zelle kopiere Zeile
08.07.2016 09:34:35
Maddi
Der rödelt jetzt seit 5 Minuten, ich glaube dafür sind es zu viele Datensätze.... kann man vll. im ersten Schritt alle leeren Zellen in Spalte I mit "unausgefertigt" füllen? Das erste Makro war im Null Komma Nix fertig..
Oder dauert das auch so lange?

AW: mit Filter
08.07.2016 09:38:42
hary
Moin
Hab hier kein Excel. Mach es mit Filter. Aufzeichen mit Makrorecorder.
Mit specialcells(xlvisible) kopieren.
gruss hary

AW: Wenn Wert in Zelle kopiere Zeile
08.07.2016 09:52:17
Crazy
Hallo
um wie viele Datensätze handelt es sich denn?
in meinem Test mit ca 5000 Datensätzen brauchts grade mal 2 sek.
was wird denn kopiert? sind da Formeln mit dabei?
MfG Tom

Anzeige
AW: Wenn Wert in Zelle kopiere Zeile
08.07.2016 10:38:44
Justin
Es sind knapp 4.500
ich habe Excel irgendwann über den Task Manager geschlossen, weil nichts mehr ging....
In der such spalte nicht, aber vereinzelt in den anderen Spalten.

AW: Wenn Wert in Zelle kopiere Zeile
08.07.2016 10:45:26
baschti007
Lad mal deine Beispiel Datei Hoch =)

AW: Wenn Wert in Zelle kopiere Zeile
08.07.2016 10:51:01
Futzi
Bsp. datei geht leider nicht wegen Datenschutz..... ich kann nicht 4500 Daten ersetzten :/

AW: Wenn Wert in Zelle kopiere Zeile
08.07.2016 10:55:51
baschti007
Es geht um den Aufbau deiner Datei was da nun drinne steht ist ja egal =D dann schreib überall xxx rein oder so was

AW: Wenn Wert in Zelle kopiere Zeile
08.07.2016 11:22:15
Crazy
Hi
probier mal ob das schneller geht
Sub test2()
Dim lngZiel As Long
Dim lngLetzte As Long
Dim rngZelle As Range
Dim rngBereich As Range
Dim oldCalc
With Application
oldCalc = .Calculation
.Calculation = xlCalculationManual
.ScreenUpdating = False
.EnableEvents = False
End With
lngLetzte = Cells(Rows.Count, 9).End(xlUp).Row
Set rngBereich = Range("I1:I" & lngLetzte)
With Worksheets("Überprüfung")
lngZiel = .Cells(.Rows.Count, 9).End(xlUp).Row + 1
For Each rngZelle In rngBereich
If rngZelle.Value = "unausgefertigt" Or _
rngZelle.Value = "" Then
Rows(rngZelle.Row).Copy .Cells(lngZiel, 1)
lngZiel = lngZiel + 1
End If
Next
End With
With Application
.CutCopyMode = False
.Calculation = oldCalc
.ScreenUpdating = True
.EnableEvents = True
End With
End Sub

MfG Tom

Anzeige
AW: Wenn Wert in Zelle kopiere Zeile
08.07.2016 11:33:32
Futzi
Ich hab versucht die sehr sehr sehr sehr zu minimalisieren und hochzuladen, geht aber leider nicht, die ist zu groß....
Das Makro dauert genauso lange, bzw. endet einfach nie.. meinst du die Datei ist zu umfangreich dafür?
Was ich mir vorstellen kann, dass der einfach ins unendliche leere Zellen sucht...

AW: Wenn Wert in Zelle kopiere Zeile
08.07.2016 12:16:08
baschti007
Ach ja es muss natürlich bei suchen der letzten Zeile(Spalte) immer eine Zeile gewählt werden wo immer etwas drinne steht =D und bei der Spalte 9 wo Ihr die letzte Zelle sucht tragt ihr auch dieses ein
If rngZelle.Value = "unausgefertigt" Or rngZelle.Value = ""
und beim nächsten durchlauf findet er die Reihe nicht
vielleicht besser mit
Range("A:A").SpecialCells(xlCellTypeLastCell).Row
als mit
Cells(.Rows.Count, 9).End(xlUp).Row
Gruß Basti
Ps. Die Beispiel Datei brauch keine 4500 Zeilen haben dann kann man es hier auch hochladen =D

Anzeige
AW: Wenn Wert in Zelle kopiere Zeile
08.07.2016 12:25:22
Futzi

Sub test()
' kopiert unaufgefertigte in neues Tabellenblatt
Dim c As Range
Dim firstAddress As String
Dim lngZiel As Long
With Worksheets("Überprüfung") 'Zieltabellennamen anpassen
lngZiel = .Range("I:I).SpecialCells(xlCellTypeLastCell).Row + 1
Set c = Columns(9).Find("unausgefertigt", LookIn:=xlValues, lookat:=xlWhole)
If Not c Is Nothing Then
firstAddress = c.Address
Do
Rows(c.Row).copy .Cells(lngZiel, 1)
lngZiel = lngZiel + 1
Set c = Columns(9).FindNext(c)
Loop While Not c Is Nothing And c.Address  firstAddress
End If
End With
End Sub

Heißt dann so? Da zeigt der mir einen Fehler an
Ich habe eine Zeile belegt :D Ich weiß nicht warum die so groß ist....

Anzeige
AW: Wenn Wert in Zelle kopiere Zeile
08.07.2016 12:29:50
baschti007
So
.Range("A:A").SpecialCells(xlCellTypeLastCell).Row +1
Wenn deine Datei zu Groß ist dann nimm doch eine ganz neue und mach nur die Struktur und ein paar Fake Daten da rein =D

AW: Wenn Wert in Zelle kopiere Zeile
08.07.2016 12:29:07
Futzi
https://www.herber.de/bbs/user/106856.xlsx
Habs jetzt noch mal versucht und noch vereinfachter, jetzt ist halt nur noch der Aufbau von den spalten drin.... die Excel Datei ist um einiges umfangreicher

AW: Wenn Wert in Zelle kopiere Zeile
08.07.2016 13:13:48
Futzi
Klappt in der Bsp datei perfekt!! Aber bei mir stürzt nur wieder alles ab :(((((

AW: Wenn Wert in Zelle kopiere Zeile
08.07.2016 13:17:37
baschti007
gib mal
unter
Set rngBereich = Range("I6:I" & lngLetzte)
das ein und guck ob die Range auch richtig ist nicht das du ganz am ende der Datei noch irgendwas hast
MsgBox rngBereich.Address

316 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige