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
1492to1496
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 gezielt übertragen anhand von Bedingungen

Daten gezielt übertragen anhand von Bedingungen
30.05.2016 14:36:50
Bedingungen
Hallo zusammen,
ich hab folgende Herausforderung:
Ich habe zwei Dateien: "Übersicht" mit dem Tabellenblatt "Übersichtsblatt" und "Daten" mit dem Tabellenblatt "Datenbasis"
1. Ich möchte jeweils die Werte in Spalte A in meinem "Übersichtsblatt" Sheet in Spalte A in meinem "Datenbasis" Sheet suchen. Die Werte in Spalte A im "Übersichtsblatt" kommen jeweils nur ein einziges Mal vor, im "Datenbasis" Sheet können sie jedoch mehrfach gefunden werden und sollen das auch.
2. In allen gefundenen Paaren möchte ich dann, dass der Wert aus Spalte C im "Übersichtsblatt" in die dazugehörige (wo eben jeweils die Werte in den Spalten A übereinstimmen) Spalte AF in meinem "Datenbasis" Sheet übertragen werden, wenn folgende Bedingungen erfüllt sind:
- die bereits genannte Bedingung: Wert in Spalte A in "Übersichtsblatt" gleich Wert in Spalte A im "Datenbasis" Sheet
- Spalte C im "Datenbasis" Sheet muss den Wert "erledigt" enthalten, ansonsten darf KEIN Übertrag stattfinden Dieser Vorgang soll eben für ALLE Werte erfolgen, die im "Übersichtsblatt" in Spalte A vorhanden sind bzw. für alle dazugehörigen gefundenen Werte im "Datenbasis" Sheet.
Ich hoffe ich konnte mein Anliegen verständlich erläutern und freue mich auf eure Rückmeldungen. Ich hab mein Problem bereits in einem anderen Forum gepostet aber leider nie eine Antwort darauf erhalten.
Herzliche Grüße
Hilfloser User

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

Betreff
Datum
Anwender
Anzeige
AW: kann man realisieren ...
30.05.2016 14:45:05
...
Hallo,
... doch eine Beispieldatei zumindest mit Dummy-Daten wäre hilfreich um es konkreter aufzuzeigen.
Gruß Werner
.. , - ...

AW: kann man realisieren ...
30.05.2016 16:32:31
Hilfloser
Ah jetzt habe ich herausgefunden, wie man eine Antwort verfassen kann:
Hier findest du eine Beispiel-Datei:
https://www.herber.de/bbs/user/105870.xlsx
Als Bemerkung:
- Die Formate spielen bei mir eigentlich keine Rolle, hauptsache der Übertrag funktioniert.
- Ich hab die beiden Tabellenblätter jetzt aus Gründen der Übersichtlichkeit in einer Excel-Datei dargestellt. Das Tabellenblatt "gewünschte Datenbasis" stellt mein gewünschtes Endergebnis in Bezug auf das Tabellenblatt "Datenbasis" dar, existiert jedoch gar nicht.
- Die Spalten D bis AF habe ich im Tabellenblatt "Datenbasis" auch aus Gründen der Übersichtlichkeit ausgeblendet.
- Die Daten im Tabellenblatt "Übersichtsblatt" sind nach Spalte B und dem Kriterium "passt" gefiltert. Das entspricht auch meiner wirklichen Vorgehensweise, da die Werte mit "passt nicht" schon mal gar nicht berücksichtigt werden sollen.
Herzliche Grüße
Hilfloser User

Anzeige
AW: kann man realisieren ...
01.06.2016 15:20:26
Matthias
Hallo hilfloser User! Kann die Datei nicht öffnen, da ich noch nen altes System habe. Unten mal ein Code der an Hands deiner Beschreibung arbeitetn sollte. Ist ungetestet. Schau mal, ob es dir weiterhilft.
Viele Grüße

Option Explicit
Sub hilfloser_User()
Dim übersicht As Object
Dim daten As Object
Dim zeilen1 As Long
Dim i As Long
Dim suche As String
Dim wert As String
Dim zelle As Object
Dim firstAddress
'ich gehe mal davon aus, dass beide Blätter offen sind, ansonsten hier noch anpassen
Set übersicht = Workbooks("Übersicht").Worksheets("Übersichtsblatt")
Set daten = Workbooks("Daten").Worksheets("Datenbasis")
zeilen1 = übersicht.ActiveSheet.Cells(Rows.Count, 1).End(xlUp).Row
'alle Zeilen durchgehen
For i = 1 To zeilen1
If übersicht.Cells(i, 1)  "" Then
'Suchwert und Einrtagung holen
suche = übersicht.Cells(i, 1)
wert = übersicht.Cells(i, 3)
'in DAten suchen
Set zelle = daten.Rows(1).Find(suche, LookIn:=xlValues)
If Not zelle Is Nothing Then
firstAddress = zelle.Address
Do
If daten.Cells(zelle.Row, 3) = "erledigt" Then daten.Cells(zelle.Row, 32) = wert
Set zelle = daten.Rows(1).FindNext(zelle)
Loop While Not c Is Nothing And zelle.Address  firstAddress
End If
End If
Next i
set daten = nothing
set übersicht = nothing
End Sub

Anzeige

299 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige