Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
972to976
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
972to976
972to976
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Andere Datei öffnen Werte einlesen schließen

Andere Datei öffnen Werte einlesen schließen
07.05.2008 08:34:00
Andre´
Hallo alle zusammen,
ich habe in Datei1 Werte im Bereich ab A6 bis D…stehen. In der Spalte ab E6 möchte ich Werte aus einer anderen Datei2 ähnlich SVERWEIS für das Suchkriterium aus der Spalte A ein pflegen.
Ich möchte gern mit einem Makro folgendes erreichen: Aus der aktiven Datei1 aktive Tabelle möchte ich eine Auswahlmöglichkeit für das öffnen einer anderen Datei2 haben. Wenn eine ausgewählt wurde, dann soll diese im Hintergrund geöffnet werden und dann soll eine Übereinstimmung mit der Spalte A der Datei1 gesucht werden aber in Spalte B der Datei2 und wenn Übereinstimmung dann soll der Spaltenwert aus F wieder gegeben werden. Dies soll soweit geprüft werden bis keine Daten in der Spalte A der Datei1 vorhanden sind. Danach soll die Datei2 geschlossen werden.
Bei der Datei1 soll die aktive Tabelle angesprochen werden und bei der Datei2 ebenfalls die Tabelle die aktiv ist wenn diese geöffnet wird.
Für den Fall, dass das erste Suchkriterium nicht zu finden ist, soll ein Meldung erscheinen: „Es wurde keine Übereinstimmung gefunden, soll in einer anderen Datei gesucht werden“ bei nein soll die Datei2 geschlossen werden und der Prozess abgebrochen werden. Bei ja soll die Datei2 geschlossen werden und wieder muss die Auswahlmöglichkeit bestehen eine andere Datei zu öffnen, wo dann die selbe Prozedur wie bereits beschrieben abläuft.
Zum besseren Verständnis habe ich zwei Bsp. Dateien angehängt: https://www.herber.de/bbs/user/52170.zip
Ich hoffe mir kann jemand helfen und bedanke mich im Voraus!
MFG Andre

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Andere Datei öffnen Werte einlesen schließen
07.05.2008 15:41:00
fcs
Hallo Andre,
hier mein Vorschlag zur Lösung deines Problems.
Gruß
Franz

Sub WerteUebernehmen()
Dim objWbkZiel As Workbook, objwksZiel As Worksheet
Dim objWbkQuelle As Workbook, objwksQuelle As Worksheet
Dim objZelleQ As Range
Dim lngZeileZ As Long
Dim varSuchen As Variant
Dim arrGefunden() As Boolean
Dim varAuswahl As Variant
Dim bolNichtgefunden As Boolean
Dim varNotgefunden As Variant
Set objWbkZiel = ActiveWorkbook
Set objwksZiel = ActiveSheet 'oder objwkbziel.worksheets(1)
With objwksZiel
'Array für gefundene Werte setzen, Wert = False
ReDim arrGefunden(6 To .Cells(.Rows.Count, 1).End(xlUp).Row)
Do
'Quelldatei auswählen
varAuswahl = Application.GetOpenFilename(Filefilter:="Exceldatei, *.xls", _
Title:="Bitte Quell-Datei öffnen")
If varAuswahl = False Then Exit Do
'Quelldatei schreibgeschützt öffnen
Set objWbkQuelle = Workbooks.Open(Filename:=varAuswahl, ReadOnly:=True)
Set objwksQuelle = objWbkQuelle.Worksheets(1)
bolNichtgefunden = False
varNichtgefunden = Null
objWbkZiel.Activate
For lngZeileZ = 6 To .Cells(.Rows.Count, 1).End(xlUp).Row
If arrGefunden(lngZeileZ) = False Then
varSuchen = .Cells(lngZeileZ, 1) 'Wert aus Spalte A
'Wert in Spalte B der Quelldatei suchen
Set objZelleQ = objwksQuelle.Columns(2).Find(What:=varSuchen, _
LookIn:=xlValues, lookat:=xlWhole)
If objZelleQ Is Nothing Then
'1. nicht gefundenen Wert merken
If bolNichtgefunden = False Then
bolNichtgefunden = True
varNichtgefunden = varSuchen
End If
'bei nicht gefundenen Werten #NV als Wert in Spalte E eintragen
.Cells(lngZeileZ, 5).Value = "#NV"
Else
'Wert aus Spalte F der gefundenen Zeile in Zieldatei eintragen
arrGefunden(lngZeileZ) = True
.Cells(lngZeileZ, 5).Value = objZelleQ.Offset(0, 4).Value
End If
End If
Next
'Quelldatei ohne speichern schliessen
objWbkQuelle.Close savechanges:=False
If bolNichtgefunden = False Then Exit Do
Loop Until MsgBox(Prompt:="Der Wert """ & varNichtgefunden & """ wurde nicht gefunden!" &  _
vbLf & vbLf _
& "in anderer Datei suchen?", Buttons:=vbQuestion + vbYesNo) = vbNo
End With
'Variablen zurücksetzen
Set objWbkZiel = Nothing: Set objwksZiel = Nothing
Set objWbkQuelle = Nothing: Set objwksQuelle = Nothing
Set objZelleQ = Nothing
ReDim arrGefunden(0)
End Sub


Anzeige
AW: Andere Datei öffnen Werte einlesen schließen
07.05.2008 15:56:00
Antje
Hallo Franz,
Vielen DANK! Du hast mir sehr damit geholfen. Genau so soll es sein!!!
Ich bin immer wieder begeistert, was für Lösungen es zu den einzelnen Problemen gibt.
Nochmals vielen DANK!
Userbild
MFG Andre

Sorry Name: Andre nicht Antje (owT)
07.05.2008 16:10:08
Andre´

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige