Microsoft Excel

Herbers Excel/VBA-Archiv

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

Kopieren aus Datei

Betrifft: Kopieren aus Datei von: Herbert Greim
Geschrieben am: 28.07.2014 01:55:32

Hallo zusammen,
ich komme einfach nicht weiter, habe mir folgenden Vbacode kopiert, aber jetzt fehlt mir noch eine Kleinigkeit.Meine geschlossene Datei hat in Zeile 1 ein fortlaufendes Datum für ein ganzes Jahr stehen also 01.01.2014 bis 31.12.2014. Ich möchte, das wenn ich in der aktiven Tabelle ein Datum eingebe in der geschlossenen Datei danach gesucht wird und dann die Spalte von einer bestimmten Range an in die aktive Tabelle J9 kopiert wird.
kann mir da jemand helfen ?

Option Explicit

Public Function GetDataClosedWB(SourcePath As String, _
    SourceFile As String, sourceSheet As String, _
        SourceRange As String, TargetRange As Range) As Boolean
    'Holt einen Bereich aus einer _geschlossenen_ Arbeitsmappe
    'Nur in VBA zu verwenden; nicht aus einer Tabellenzelle heraus
    '© t.ramel@mvps.org
    ' wird durch die HoleDaten aufgerufen
    Dim strQuelle       As String
    Dim Zeilen          As Long
    Dim Spalten         As Byte
    On Error GoTo InvalidInput
    strQuelle = "'" & SourcePath & "[" & SourceFile & "]" & sourceSheet & "'!" & Range( _
SourceRange).Cells(1, 1).Address(0, 0)
    Zeilen = Range(SourceRange).Rows.Count
    Spalten = Range(SourceRange).Columns.Count
    With TargetRange.Cells(1, 1).Resize(Zeilen, Spalten)
        .Formula = "=IF(" & strQuelle & "="""",""""," & strQuelle & ")"
        .Value = .Value
    End With
    GetDataClosedWB = True
    Exit Function
InvalidInput:
    MsgBox "Die Quelldatei oder der Quellbereich ist ungültig!", vbExclamation, "Get data from  _
closed Workbook"
    GetDataClosedWB = False
End Function

Public Sub HoleDaten()
    ' Die Funktion arbeitet mit der obrigen GetDataClosedWB zusammen
    Dim Pfad            As String
    Dim Dateiname       As String
    Dim Blatt           As String
    Dim Bereich         As String
    Dim Ziel            As Range
    Pfad = "F:\"
    Dateiname = "AWH.xls" ' aus welcher Datei soll er holen?
    Blatt = "AWH"  ' von welcher Tabelle soll er holen?
    Bereich = "G15:G50"   ' aus welchem Bereich soll er holen?
    Set Ziel = ActiveSheet.Range("J9")  ' in welchen Bereich soll er kopieren? Genauer gesagt:  _
Bei welcher Zelle soll er anfangen, Datein reinzukopieren? Bsp: ActiveCell geht auch
    If GetDataClosedWB(Pfad, Dateiname, Blatt, Bereich, Ziel) Then
        MsgBox "Daten importiert"
    End If
End Sub
Danke im Voraus
Herby

  

Betrifft: AW: Kopieren aus Datei von: Oberschlumpf
Geschrieben am: 28.07.2014 19:47:42

Hi Herbert,

du kannst nicht so ohne Weiteres nach Daten in einer geschl. Datei suchen.
Aber musst du eigtl auch nicht, überlege ich mir gerade. Du kennst den Zielbereich doch schon.

Wenn in geschl. Datei, beginnend in A1 = 01.01.2014 und entsprechend 365 Spalten weiter das Datum 31.12.2014 steht, dann musst du vor dem Auslesen aus der geschloss. Datei doch nur die "richtige" Spalte für dein gesuchtes Datum ermitteln.

Wenn du also z Bsp nach dem 05.01.2014 suchst, dann sind diese Daten in der geschloss. Datei in Spalte 5.
So könntest du dann mit Hilfe von Variablen die Trefferspalte immer dynamisch anpassen.

Aber vllt. hab ich das ja mit der 1. Zeile, mit den Datumswerten falsch verstanden.

Am besten, auch, wenn ich es richtig verstanden habe, zeig uns doch mal deine geschlossene Bsp-Datei, und erklär vllt. noch mal. was du wie wann wo warum erreichen möchtest.

Ciao
Thorsten


  

Betrifft: AW: Kopieren aus Datei von: Herbert Greim
Geschrieben am: 29.07.2014 16:31:05

Hallo Thorsten,

vielen Dabk für die Antwort.

ja könnte gehen, aber wie setzte ich diese Variable ein und wie könnte der Code aussehen.
Natürlich kann ich die Datei hier hochladen, dauert aber etwas.

Gruß
Herby


  

Betrifft: AW: Kopieren aus Datei von: Herbert Greim
Geschrieben am: 29.07.2014 17:33:58

Hallo Thorsten,

hier die geschlossene Datei

https://www.herber.de/bbs/user/91769.xlsx

und hier die offene Datei

https://www.herber.de/bbs/user/91770.xlsx


 

Beiträge aus den Excel-Beispielen zum Thema "Kopieren aus Datei"