Anzeige
Archiv - Navigation
1032to1036
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

an letzten Datensatz anhängen - VBA

an letzten Datensatz anhängen - VBA
12.12.2008 20:22:07
Wolfgang
Hallo,
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


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

Betreff
Datum
Anwender
Anzeige
AW: an letzten Datensatz anhängen - VBA
13.12.2008 21:51:25
Gerd
Hallo Wolfgang,
lösche mal das hier -
If lngZeileZiel >= lngZielZeile1 Then
'vorhandene Einträge in Zieltabelle löschen
''''''''' '.Range(.Rows(lngZielZeile1), .Rows(lngZeileZiel)).ClearContents
End If
- und schaue was läuft.
Es sind einige Variablen in dieser Prozedur nicht deklariert u. mir eine abschließende Beurteilung deshalb leider möglich.
Gruß Gerd
AW: an letzten Datensatz anhängen - VBA
13.12.2008 22:24:57
Wolfgang
Hallo Gerd,
Danke für Deine Rückmeldung, ich habe die Passage geändert bzw. gelöscht; Die Zielseite wird nun zwar nicht mehr völlig gelöscht, die neuen Datensätze werden aber ab Zeile 1 eingefügt und vorhandenen Zeilen werden überschrieben. Danke schon jetzt wieder für die Rückmeldung.
Gruß - Wolfgang
Anzeige
AW: an letzten Datensatz anhängen - VBA
13.12.2008 23:12:44
Gerd
Hallo Wolfgang,
teste bitte im Einzelschritt-Modus. Mehr kann ich im "Blindflug" nicht tun.

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(2, _
.Cells(.Rows.Count, 1).End(xlUp).Row) + 1
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


Gruß Gerd

Anzeige
Danke Gerd - "guter Blindflug"
14.12.2008 06:49:00
Wolfgang
Hallo Gerd,
erneut herzlichen Dank für Deine Rückmeldung; Ich habe den Code entsprechend hineinkopiert und er macht genau das, was ich mir vorgestellt hatte, fügt also die neuen Datensätze ab der letzten freie Zeil 'dran. Ich freue mich sehr. Nochmals Danke und einen schönen, 3. Adventssonntag.
Gruß - Wolfgang
AW: Kleine Korrektur
14.12.2008 14:25:00
Gerd
Hallo Wolfgang,
setze bitte noch bei der Ermittlung von
lngZeileZiel
"+1" hinter ...End.xl(Up).Row, also direkt vor die letzte schließende Klammer.
Gruß Gerd

299 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige