PDA

Vollständige Version anzeigen : Name finden und bestimmte zeilen kopieren


Herico
14.07.2014, 13:06
Hallo,

Ich versuche gerade ein Makro zu schreiben.Es funktioniert auch soweit.Die Frage ist wie kann ich in meinen Code Excel sagen das wenn in Zeile x der wert x steht er mir nur zeilen a,b,c,d,e in ein existierendes blatt einfügen soll.Und das auch nur ab a7.Habe leider nur wenig mit vba.Anbei mein bishieriger code.

Sub Kopieren()
Dim i As Long
With Sheets("BI")
For i = 1 To .Cells(Rows.Count, "BA").End(xlUp).Row
If .Cells(i, "BA") = "" Then
.Rows(i).Copy _
Destination:=Sheets("").Range("A7:E7" & Sheets("").Cells(Rows.Count, "").End(xlUp).Row + 1)
End If
Next i
End With
End Sub
Private Sub Worksheet_Change(ByVal Target As Range)
Dim i As Long
If Target.Count > 1 Then Exit Sub
Select Case Target.Column
Case 53
Worksheets("").Range("A7:E").ClearContents
Application.ScreenUpdating = False
With Sheets("BI")
.Range("BA15:BA15").AutoFilter Field:=53, Criteria1:=""
i = .Cells(Rows.Count, 1).End(xlUp).Row
.Range("A15:E15" & i).SpecialCells(xlCellTypeVisible).Copy Worksheets("").Range("A7:E7")
.Rows(6).AutoFilter Field:=53
.Range("BA15:BA15").AutoFilter
End With
Case Else: Exit Sub
End Select
Application.CutCopyMode = False
Application.ScreenUpdating = True
End Sub


Was fehlt den an den code bzw ist falsch?Er ist natürlich anonym.

Mc Santa
14.07.2014, 23:03
Hallo,

die Beschreibung ist etwas dünn, ich denke mal, du meinst es so?

Sub Kopieren()
Dim i As Long
With Sheets("BI")
For i = 7 To .Cells(Rows.Count, "BA").End(xlUp).Row
If .Cells(i, "BA") = "x" Then
.Range(.Cells(i, 1), .Cells(i, 5)).Copy _
Destination:=Sheets("HIER MUSS DEINE ZIELTABELLE STEHEN").Cells(Rows.Count, 1).End(xlUp).Offset(1)
End If
Next i
End With
End Sub

Freue mich über Feedback oder eine genauere Beschreibung ;)

VG