Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
608to612
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
608to612
608to612
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

VBA - Darensatz einfügen

VBA - Darensatz einfügen
12.05.2005 19:14:59
Karl
Hallo zusammen,
ich stehe vor dem Problem einen Datenensatz, der aus einer anderen Datei kommt nur dann in die Datenbank einfügen zu wollen, wenn der Name des Beutzers (1.Spalte) nicht schon in der Datenbank vorhanden ist. wenn der Name aber vorhanden ist, dann soll der bestehende Datensatz überschrieben werden. Geht das mit einer IF...Then..Else Anweisung? Hat jemand einen konkreten Vorschlag für mich mittels VBA Code? vilen Dank im Voraus, echt super Forum

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

Betreff
Datum
Anwender
Anzeige
AW: VBA - Datensatz einfügen
12.05.2005 19:29:52
Boris
Hi Karl,
wie kommt denn Dein Datensatz aus der anderen Datei?
Doch wahrscheinlich per Code. Wäre hilfreich, wenn du ihn hier mal preiss gibst.
Ansonsten Stichwort: Find-Methode oder auch die WorksheetFunction.CountIf .
Grüße Boris
AW: VBA - Datensatz einfügen
12.05.2005 19:34:40
Karl
Hallo hier ist mein Code, mit dem ich den aus der anderen Datei in die Fuel.xls exportiere. In dieser sollte dann der Vergleich statt finden.
Danke

Sub Export1()
k = Workbooks("Fuel.xls").Worksheets("Datenbank").Range("A65536").End(xlUp).Row + 1
Range("B8:BE10").Select
Selection.Copy
Workbooks("Fuel.xls").Worksheets("Datenbank").Cells(k, 1).PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
End Sub

Anzeige
Ein allgemeines Beispiel
12.05.2005 19:57:14
Boris
Hi Karl,
ich hab keine Lust, die Dateien nachzubauen - daher hab ich dir mal ein Beispiel geschrieben, wie das innerhalb einer Datei mit 2 Blättern funktioniert.
Der Datensatz steht dabei in Tabelle1!A1:D1 und soll in Tabelle2, Spalten A:D übertragen werden. Hab´s etwas auskommentiert - das wirst du sicherlich auf deine Bedürfnisse anpassen können. Zudem hab ich auf Copy & Paste zu Gunsten der direkten Referenzierung verzichtet:
Option Explicit

Sub export()
Dim wsQuell As Worksheet
Dim wsZiel As Worksheet
Dim C As Range
Dim rngDatensatz As Range
Dim lastRow As Long
Set wsQuell = Worksheets("Tabelle1") 'Quellblatt mit dem zu übertragenden Datensatz
Set wsZiel = Worksheets("Tabelle2") 'Zielblatt
Set rngDatensatz = wsQuell.Range("A1:D1") 'Hier steht der Datensatz
With wsZiel 'Referenz auf wsZiel
'Ersten Wert des Datensatzes - rngDatensatz(1) - in Spalte A des Zielblattes suchen
Set C = .Range("A:A").Find(rngDatensatz(1), lookat:=xlWhole)
'Wenn bereits vorhanden
If Not C Is Nothing Then
'dann überschreiben
.Range("A" & C.Row, "D" & C.Row).Value = rngDatensatz.Value
Else
'ansonsten nächste freie Zeile im Zielblatt ermitteln
lastRow = .Range("A65536").End(xlUp).Row + 1
'und Datensatz dorthin übertragen
.Range("A" & lastRow, "D" & lastRow).Value = rngDatensatz.Value
End If
End With
End Sub

Grüße Boris
Anzeige
AW: Ein allgemeines Beispiel
13.05.2005 11:29:34
Karl
Vielen Dank! Funktioniert fast. Das einzige Problem, das ich noch habe ist, dass mein Datensatz ja nicht wie in deinem Beispiel in einer Zeile (A1:D1) steht sondern in drei Zeilen (B8:BD10). Wenn ich dein Beispiel jetzt auf mein Problem umstricke, dann kopiert er mir nur die erste Zeile meines Datensatzes in die Zieltabelle und nicht alle drei Zeilen.
Vielen Dank für einen Tipp
Karl

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige