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

Daten in Datenbankliste überführen

Daten in Datenbankliste überführen
21.07.2018 16:59:27
Claudia
Guten Tag Zusammen,
vielleicht habe ich ja Glück und trotz des wunderbaren Wetters nimmt sich ein Profi meines Problems an:
Regelmäßig muss ich Daten in eine Datenbankliste eintragen. Die Datenbankliste ist sehr groß und daher der Aufwand sehr hoch.
Leider sind meine VBA-Kentnisse nur rudimentär und reichen für eine Lösung nicht aus.
Ich habe eine kleine Beispielmappe erstellt, welche die Aufgabenstellung vollkommen abbildet: https://www.herber.de/bbs/user/122819.xlsx
Vielen Dank für Eure Unterstützung
Claudia

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Daten in Datenbankliste überführen
21.07.2018 18:09:45
Barbaraa
Hallo Claudia,
so mal auf die Schnelle:
Kopiere folgenden Code in das Tabellenmodul "Werte"
  Sub Datenbank()
Dim lZ As Long, lS As Long
Dim rN As Range, rS As Range
Dim sN As String, sS As String
For lZ = 4 To Cells(Rows.Count, 2).End(xlUp).Row
For lS = 3 To Cells(3, Columns.Count).End(xlToLeft).Column
If Cells(lZ, lS)  "" Then
sN = Cells(lZ, 2): sS = Cells(3, lS)
With Worksheets("Datentabelle")
Set rN = .Range(.Cells(3, 2), .Cells(.Rows.Count, 2).End(xlUp)).Find(sN, _
, , xlWhole)
If rN Is Nothing Then
Set rN = .Cells(.Rows.Count, 2).End(xlUp).Offset(1, 0)
rN = sN
End If
Set rS = .Range(.Cells(3, 2), .Cells(3, _
.Columns.Count).End(xlToLeft)).Find(sS, , , xlWhole)
If rS Is Nothing Then
Set rS = .Cells(3, .Columns.Count).End(xlToLeft).Offset(0, 1)
rS = sS
End If
.Cells(rN.Row, rS.Column).Select
.Cells(rN.Row, rS.Column) = Cells(lZ, lS)
End With
End If
Next lS
Next lZ
End Sub
Kommt in der Datentabelle gleiche Namen oder Spalten mehrfach vor, wird nur in der ersten ein Eintrag vorgenommen.
Neue Namen oder Spalten werden in der Datentabelle neu angelegt. Lösche zuvor Deine Einträge in Zeile 29 und 30.
LG,
Barbara
Anzeige
bleibt hängen
21.07.2018 18:40:07
Claudia
Hallo Barbara,
vielen Dank für Deinen Code.
Leider bleibt er bei mir mit der Fehlermeldung: Laufzeitfehler 1004 "Anwendungs- oder objektdefinierter Fehler" an der Stelle:.Cells(rn.Row, rS.Column).Select hängen!
In der Ziel Datentabelle kommen die Namen in Spalte B mehrfach vor und sollten, wenn möglich, auch alle die Werte erhalten. Die Überschriften sind immer eindeutig.
Vielen Dank für Deine Unterstützung und einen schönen Abend .
Claudia
AW: bleibt hängen
21.07.2018 18:48:29
Barbaraa
Hi Claudia,
dann muss man nach den Namen eben weiter suchen.
Soll bitte wer andere machen. Habe heute leider keine Zeit mehr.
Die Fehlerzeile mit "Select" bitte löschen, sie hat keine Bedeutung. Das habe ich vergessen.
Die würde nur funktionieren, wenn auch das Blatt Datentabelle zufällig aktiviert wäre.
LGB
Anzeige
weitersuchen fehlt noch
21.07.2018 18:57:11
Claudia
Hallo Barbara,
nach dem löschen der Zeile mit Select funktioniert es.
Nun wäre es toll, wenn das mit dem weiter suchen noch klappen würde.
Vielleich findet sich ja jemand im Forum?!
Vielen Dank
Claudia
Passt! Vielen Dank owT
21.07.2018 19:28:59
Claudia

87 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige