Hallo, ich möchte ganze Zeilen aus Tabellenblätter wenn die 1 Bedingung ist, kopieren.
Folgendes Marko steht schon, nur kopiert es mir nicht die ganze Zeile, sondern nur die Zelle 
Kann mir jemand helfen?
Danke und gruss,
christian
Sub kopi()
Dim lngZeilenIndex As Long
Dim intSpaltenindex As Integer
Sheets(„31231 Schötmar“).Select
For intSpaltenindex = 3 To 4
For lngZeilenIndex = 1 To 10
Cells(lngZeilenIndex, intSpaltenindex).Select
If Selection.Value = „a“ Then
Selection.Copy
Sheets(„Priorität“).Select
Cells(lngZeilenIndex, intSpaltenindex).Select
ActiveSheet.Paste
End If
Next
Next
Sheets(„Priorität“).Select
End Sub
wenn du das hier abänderst:
Cells(lngZeilenIndex, intSpaltenindex).Select
sollte es gehen…
Cells(lngZeilenIndex, intSpaltenindex). Entirerow. Select
bzw Entirecolumn statt row…
Cells ist eben nunmal nur eine Zelle ^^
Superschnelle Antwort, vielen Dank.
Jedoch würde es mir mehr helfen, wenn Du mir das direkt in das Marko schreibst. Ich habe es probiert und es kopiert dann einfach die einte Zelle mit dem a in das Sheet Priorität in ALLE Zellen 
Gruss Christian
Hallo?
Gibts da noch welche Excel-Cracks? 
gruess christian
Hi Christian,
Gibts da noch welche Excel-Cracks? 
k.A. probiers mal so (ungetestet):
Option Explicit
'
Sub kopi()
Dim lngZeilenIndex As Long, intSpaltenindex As Integer
With Sheets("31231 Schötmar")
For intSpaltenindex = 3 To 4
For lngZeilenIndex = 1 To 10
If .Cells(lngZeilenIndex, intSpaltenindex).Value = "a" Then
.Cells(lngZeilenIndex, intSpaltenindex).EntireRow.Copy \_
Destination:=Sheets("Priorität").Cells(lngZeilenIndex, 1)
End If
Next lngZeilenIndex
Next intSpaltenindex
End With
Sheets("Priorität").Activate
End Sub
Gruß
Reinhard
Ui, danke es funktioniert!
Und jetzt noch eine Steigerung 
Tabellenblätter:
Priorität
Schötmar
Allgemein
Baden
–> Priorität sollen alle a-Prios aus den Tabellenblätter kopiert werden. (nihct nur schötmar)
Und zwar ohne dabei andere zu überschreiben (das ist ja nun der Fall)
[Sicher irgendein kurzer Befehl „wenn die Zeile nicht beschrieben ist“]
Gibt es auch dafür eine Lösung?
Dankeschöööön
Und jetzt noch eine Steigerung 
Tabellenblätter:
Priorität
Schötmar
Allgemein
Baden
–> Priorität sollen alle a-Prios aus den Tabellenblätter
kopiert werden. (nihct nur schötmar)
Und zwar ohne dabei andere zu überschreiben (das ist ja nun
der Fall)
Grüezi Christian,
Option Explicit
'
Sub kopi()
Dim lngZei As Long, lngFrei As Long, wks As Worksheet, Blatt, B As Integer
Blatt = Array("Schötmar", "Allgemein", "Baden")
Set wks = Worksheets("Priorität")
lngFrei = IIf(wks.Range("A1") "", wks.Range("A" & Rows.Count).End(xlUp).Row + 1, 1)
If lngFrei = Rows.Count Then GoTo Fehler
For B = 0 To UBound(Blatt)
With Worksheets(Blatt(B))
For lngZei = 1 To 10
If .Cells(lngZei, 3) = "a" Or .Cells(lngZei, 4) = "a" Then
.Cells(lngZei, 3).EntireRow.Copy Destination:=wks.Cells(lngFrei, 1)
If lngFrei = Rows.Count Then GoTo Fehler
End If
Next lngZei
End With
Next B
wks.Activate
Exit Sub
Fehler:
MsgBox "Blatt voll"
End Sub
Gruß
Reinhard
Hmm…jetzt kopiert es nur aus einem Tabellenblatt anstatt von allen 3en und auch nicht alle Zellen mit a, sondern nur 1ne.
Ausgangslage:
Allgemein= 2xa (z.b. Zelle C4, C6)
Schötmar= 1xa (z.b. Zelle C2)
Forbach= 3xa (z.b. Zelle C4, C5,C6)
Wunsch:
Alle Zeilen mit „a“ kopieren.
geht das?
Hi Christian,
Hmm…jetzt kopiert es nur aus einem Tabellenblatt anstatt von
allen 3en und auch nicht alle Zellen mit a, sondern nur 1ne.
jain, der Code kopiert schon mehr, aber überschreibt sich immer wieder selbst, ändere das :
.Cells(lngZei, 3).EntireRow.Copy Destination:=wks.Cells(lngFrei, 1)
If lngFrei = Rows.Count Then GoTo Fehler
mal ab in dieses:
.Cells(lngZei, 3).EntireRow.Copy Destination:=wks.Cells(lngFrei, 1)
lngFrei=lngFrei+1
If lngFrei = Rows.Count Then GoTo Fehler
Gruß
Reinhard
Ausgangslage:
Allgemein= 2xa (z.b. Zelle C4, C6)
Schötmar= 1xa (z.b. Zelle C2)
Forbach= 3xa (z.b. Zelle C4, C5,C6)
Wunsch:
Alle Zeilen mit „a“ kopieren.
geht das?
Hi Reinhard
Hey! Herzlichen Dank, nun funktioniert es.
ABER
Wenn ich das Excelsheet mit weiteren Tabellenblätter erweitere, kommt Debug…
so in etwa:
Blatt = Array(„Schötmar“, „Allgemein“, „Forbach“, „PKN Orlen“, „PKN Orlen GPZ-2“)
erscheint Debug bei:
With Worksheets(Blatt(B))
Was bedeudet dieser Befehl (Blatt(B)) ?
Und was muss ich nun anpassen?
(Nachher bin ich dann fertig 
Thanks a lot !!
Hi Chriistian,
ABER
Wenn ich das Excelsheet mit weiteren Tabellenblätter
erweitere, kommt Debug…
so in etwa:
tsts, welche Fehlermeldung kommt denn, sind zwar oft immer die gleichen, aber die weisen schon die Richtung wo man schauen muß,
steht da was von Index?
Blatt = Array(„Schötmar“, „Allgemein“, „Forbach“, „PKN Orlen“,
„PKN Orlen GPZ-2“)
erscheint Debug bei:
With Worksheets(Blatt(B))
Was bedeudet dieser Befehl (Blatt(B)) ?
Und was muss ich nun anpassen?
Ich tippe mal auf Schreibfehler in den Blattnamen. Blatt ist ein Array, eine Matrix, so wie A1:A5 auch ein Array ist. Beide haben 5 Einzelelemente, A1 ist das erste, A2 das zweite usw.
Bei Blatt ist das so Blatt(0) ist das erste, Blatt(1) das zweite Element usw.
Wenn wieder ma der Debugger kommt und eine Zeile gelb unterlegt, gehe mal mit der Maus langsam über Variablen wie z.B. „B“, es wird der aktuelle Wert von B angezeigt, z.B. 3, da die Zählung bei Blatt bei 0 beginnt, bedeutet die 3 das vierte Blatt, hier also „PKN Orlen“, das gibt es nicht, es ist falsch geschrieben, sonstwas.
(Nachher bin ich dann fertig 
Schauen wir mal 
Gruß
Reinhard
-)
Tiptop!
Nun gehts, war ein Bezeichnungsfehler im Tabellenblatt.
Hey Reinhar, vielen vielen DANK!!
gruess.
christian