Microsoft Excel

Herbers Excel/VBA-Archiv

Informationen und Beispiele zum Thema MsgBox
BildScreenshot zu MsgBox MsgBox-Seite mit Beispielarbeitsmappe aufrufen

ich brauche dringend eure Hilfe


Betrifft: ich brauche dringend eure Hilfe von: Excel Laie
Geschrieben am: 21.08.2016 11:41:48

Hallo Profis,
ich brauche dringend eure Hilfe, ich habe zwei Dateien und muss Daten aus einer Datei
(Bestand) auslesen ab Spalte A2 bis ende. und Gucken ob diese in der zweiten Datei (Import) Spalte "B" vorhanden ist, ist das der Fall sollte der Wert "C" aus Datei (Import) in die gefundene Zeile in Datei Bestand "D" kopiert werden: ist das möglich?.

ich bedanke mich schon mal im Voraus

Gruß
Ole

  

Betrifft: Alles ist... von: Bernd
Geschrieben am: 21.08.2016 11:56:30

Hi,

möglich! Aber ohne einer Beispieldatei wird's hier nix.


mfg Bernd


  

Betrifft: Alles ist... von: Bernd
Geschrieben am: 21.08.2016 11:56:31

Hi,

möglich! Aber ohne einer Beispieldatei wird's hier nix.


mfg Bernd


  

Betrifft: Alles ist... von: Excel Laie
Geschrieben am: 22.08.2016 21:54:27

Hallo Bernd,
hier mal die beiden Dateien

Import: https://www.herber.de/bbs/user/107782.xls

Bestand: https://www.herber.de/bbs/user/107783.xls

es wäre schön wenn Du mir Helfen könntest

Gruß
Ole


  

Betrifft: AW: ich brauche dringend eure Hilfe von: Crazy Tom
Geschrieben am: 21.08.2016 12:15:48

Hallo

eine Möglichkeit
zu starten aus der Datei "Bestand"
aufgrund deiner Versionsangabe habe ich es in xls-Format getestet

Sub test()
    Dim c As Range
    Dim wksQuelle As Worksheet
    Dim wksZiel As Worksheet
    Dim lngLetzte As Long
    Dim lngZaehler As Long
    Dim lngEintrag As Long
    Set wksZiel = ThisWorkbook.Sheets("Tabelle1") 'Zieltabellenblattnamen anpassen
    lngLetzte = wksZiel.Cells(Rows.Count, 1).End(xlUp).Row
    Workbooks.Open Filename:="C:\Users\Tom\Desktop\Import.xls" 'Pfad anpassen
    Set wksQuelle = Workbooks("Import.xls").Sheets("Tabelle1") 'Blattname anpassen
    With wksZiel
        For lngZaehler = 2 To lngLetzte
            Set c = wksQuelle.Columns(2).Find(.Cells(lngZaehler, 1).Value, _
                                                LookIn:=xlValues, _
                                                lookat:=xlWhole)
            If Not c Is Nothing Then
                .Cells(lngZaehler, 4).Value = wksQuelle.Cells(c.Row, 3).Value
                lngEintrag = lngEintrag + 1
            End If
        Next
    End With
    Workbooks("Import.xls").Close False
    MsgBox "Es wurden " & lngEintrag & " Daten übertragen"
End Sub

MfG Tom


  

Betrifft: Danke klappt SUPER OWT von: Excel Laie
Geschrieben am: 23.08.2016 21:48:55


Gruß
Ole


  

Betrifft: Danke klappt SUPER OWT von: Excel Laie
Geschrieben am: 23.08.2016 21:49:07


Gruß
Ole


  

Betrifft: AW: iso wie Du es bisher beschreibst ... von: ... neopa C
Geschrieben am: 21.08.2016 13:11:30

Hallo Ole,

... reicht auch DVERWEIS() und um Fehlerwerte abzufangen zusätzlich noch ISTNV() und WENN()

Nachfolgend zeige ich es Dir mal anstelle von zwei Dateien mit zwei Tabellenblättern namens Bestand und Import in einer Datei auf.

Folgende Formel in D2 =WENN(ISTNV(SVERWEIS(A2;Import!B:C;2;));"";SVERWEIS(A2;Import!B:C;2;))
und diese Formel nach unten kopieren.

Solltest Du wirklich zwei Dateien haben, müsstest in obiger Formel nur noch "Import!" durch den Imort-Dateinamen (z.B.: Datei2), ergänzt mit dem Tabellennamen (z.B.: Ein) in den die Importdaten beinhalte sind, ersetzen.

Also so z.B.:

=WENN(ISTNV(SVERWEIS(A2;[Datei2.xlsx]Ein!B:C;2;));"";SVERWEIS(A2;[Datei2.xlsx]Ein1!B:C;2;))

Gruß Werner
.. , - ...