wenn ich den untenstehenden Code richtig deute, kopiert er Zeilen aus einem Array in das vorher genannte Zieltabellenblatt. Wie müßte ich den Code ändern, damit nicht die bestehenden Datensätze/Zeilen gelöscht werden, sondern an den letzten Datensatz 'drangehängt werden. Danke schon jetzt für die Rückmeldungen.
Herzliche Grüße
Wolfgang
Private Sub CB_OK_Click()
'Application.ScreenUpdating = False
'Daten in Zieltabelle übertragen
Dim lngZeileZiel As Long
Dim lngZeileQuelle As Long
Dim intI As Integer
If objWsZiel Is Nothing Then
MsgBox "Bitte erst eine Zieltabelle auswählen!"
Exit Sub
Else
With objWsZiel
'letzte ausgefüllte Zeile in der Zieltabelle ermitteln
lngZeileZiel = Application.WorksheetFunction.Max(lngZielZeile1, _
.Cells(.Rows.Count, 1).End(xlUp).Row)
If lngZeileZiel >= lngZielZeile1 Then
'vorhandene Einträge in Zieltabelle löschen
.Range(.Rows(lngZielZeile1), .Rows(lngZeileZiel)).ClearContents
End If
End With
lngZeileZiel = lngZielZeile1
With objWsQuelle
'Alle Zeilen in Spalte mit Name ab gewählter Zeile bis zum Listenende in _
Zieltabelle übertragen
For lngZeileQuelle = lngQuellZeile1 To .Cells(.Rows.Count, arrQuellSpalten(1)).End(xlUp). _
Row
If Me.cboLieferorte.ListIndex = -1 _
Or Me.cboLieferorte.Value = "(Alle)" _
Or .Cells(lngZeileQuelle, arrQuellSpalten(4)).Value = Me.cboLieferorte.Value Then
For intI = 1 To 9
objWsZiel.Cells(lngZeileZiel, intI).Value = _
.Cells(lngZeileQuelle, arrQuellSpalten(intI)).Value
Next
lngZeileZiel = lngZeileZiel + 1
End If
Next
End With
'Zieltabelle anzeigen
objWbZiel.Activate
objWsZiel.Activate
End If
Unload Me
End Sub