Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
Anzeige
Archiv - Navigation
1376to1380
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

Datenimport ohne überschreiben

Datenimport ohne überschreiben
20.08.2014 09:45:23
Knoof
Hallo,
Ich habe vor längerer Zeit mal den folgenden Code bekommen.
Der funktioniert eigentlich ganz gut...
Wenn in meiner Zieldatei schon Datensätze vorhanden sind, fügt er die neuen Datensätze aus meiner Queldatei auch unten an.
Wenn meine Zieldatei allerdings noch keine Datensätze enthält und ich aktualisieren drücke, dann werden die Datensätze einfach ganz weit unten in Zeile 47 oder so eingefügt und die oberen Zeilen bleiben leer.
Ich weiß beim besten willen nicht woran das liegen kann.
Private Sub cmdimport_Click()
Dim Zelle As Range
Dim quRows As Long
Dim zuRows As Long
Dim suche As Range
Dim QWB As Workbook, ZWB As Workbook
Dim qsh As Worksheet, zsh As Worksheet
Dim ordner As Variant
'Wenn die Datei erst geöffnet werden muss
Set ZWB = ThisWorkbook                  ' Ziel, Workbook mit diesem Makro
Set zsh = ZWB.ActiveSheet    ' Ziel
ordner = Application.GetOpenFilename("Manche Dateien (*.txt),*.txt,Alle Dateien,*.*")
Set QWB = Workbooks.Open(ordner)          ' Quelle, aus der die Tabelle41 kopiert werden soll
Set qsh = QWB.Worksheets("Sheet 1")   ' Quelle
If MsgBox("Nur Update?", vbYesNo) = vbNo Then
qsh.Cells.Copy zsh.Cells(1, 1)                ' oder before
Else
'code für update
quRows = qsh.UsedRange.Rows.Count
For Each Zelle In qsh.Range(qsh.Cells(1, 1), qsh.Cells(quRows, 1))
Set suche = zsh.Columns(1).Find(Zelle, , xlValues, xlWhole)
If suche Is Nothing Then
'zeile wird ins zielsheet unten angefügt
Zelle.EntireRow.Copy zsh.Cells(zsh.UsedRange.Rows.Count + 1, 1)
End If
Next
End If
QWB.Close          ' Wenn die Datei wieder geschlossen werden soll
End Sub
Ebenso sollen die Überschriften der Spalten nicht überschrieben werden, es sollen lediglich Datensätze die noch nicht vorhanden sind einfach in mein Zielsheet eingefügt werden, und wenn mien Zielsheet leer ist(nur überschriften), dann sollen halt alle eingefügt werden.
Bitte um Hilfe!
Gruß,
Knoof

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Datenimport ohne überschreiben
20.08.2014 10:24:41
Luschi
Hallo Knoof,
ich wundere mich schon, daß Du diese Frage erneut stellst, ohne auf meinen Tipp zum gleichen Problem zu antworten!
https://www.herber.de/forum/messages/1376429.html
Gruß von Luschi
aus klein-Paris

AW: Datenimport ohne überschreiben
20.08.2014 11:00:20
Knoof
Sorry Luschi wusste nicht wie ich auf den beitrag zurück greifen konnte um darauf zu antworten, habe länger nicht mehr ins forum geguckt.
Ich verstehe deinen Code zwar, aber leider konnte ich ihn nicht so in meinen Code einbauen damit es funktioniert, zumindest habe ich nicht das erreicht was ich wollte.
Mit deinem Code selektiert er nicht diejenigen Datensätze aus, die schon vorhanden sind.
Ich danke dir schonmal für deine Mühe,
Gruß
Knoof

Anzeige
AW: Datenimport ohne überschreiben
20.08.2014 10:26:05
Rolf.dW
Moin Knoof,
1. Die Anweisung "UsedRange.Rows.Count" führt immer dann zu solchen Fehlern, wenn unterhalb der Daten - aus welchen Gründen auch immer - irgendwann Einträge vorhanden waren, die zwar "Entf" wurden (, von excel aber immer noch als belegt angesehen werden). Du musst diesen Bereich zunächst komplett löschen.
Soll heißen: Erste Leerzelle unterhalb deiner Daten anklicken, anschließend den Bereich mit Shift+Strg+ENDE auswählen, mit Strg+Minuszeichen löschen und anschließend speichern. Mit Strg+ENDE kannst du prüfen, ob alles geklappt hat.
2. Mit "qsh.Cells.Copy" wird das gesamte Tabellenblatt (einschließlich Überschriften) kopiert. Das musst du deinen Vorstellungen entsprechend ändern, indem du z.B. den Copy-Bereich als Range definierst oder ihm per VBA einen Bereichsnamen verpasst.
Gruß, Rolf

Anzeige
AW: Datenimport ohne überschreiben
20.08.2014 14:02:22
Knoof
Dankesehr! das wusste ich noch nicht :)

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige