Daten aus ander XLSM-Datei kopieren
#1
Hallo Zusammen,
 
ich möchte gerne per VBA-Makro Daten aus einer anderen Datei kopieren, ohne diese öffnen zu müssen.
 
Facts:
 
die zu kopierende Datei ist hier gespeichert
T:\Team\Monat
Name der Datei, in der die zu kopierenden Daten stehen lautet
Infos.xlsm
Bereich:
A3:V10000 
 
die empfangende Datei ist offen 
Tabellenblatt, welche die Daten empfängt
OINK
Bereich:
ab A1 (also alles überschreiben)
 
vielen Dank für eure Hilfe im Voraus
 
Gruß
Michael
 
PS: Leider bin ich in Excel nicht so fit, dass ich mir das aus anderen Beiträgen zusammensuchen kann. Sorry, falls das Thema so ähnlich schon mal hier war.
Top
#2
Hallo Michael
Du lieferst spärliche Angaben. Ich übe Gegenrecht und kopiere hier etwas Funktionierendes aus meinem Fundus. Das Implementieren musst Du halt selber machen.
Code:
Public Sub HoleDaten()
   Dim Pfad As String
   Dim Dateiname As String
   Dim Blatt As String

   Pfad = ActiveWorkbook.Path & "\"
   'Pfad = "D:\DeinPfad\"
   Dateiname = Replace(ActiveWorkbook.Name, "user", "db")   'dies ist der Name der zu untersuchenden Quelldatei
   'Dateiname = "DeineDatei.xls" 'das kann ein Bezug auf deine Zelle sein
   Blatt = ActiveSheet.Name
   
   'Blatt = "DeinTabellenblatt"
   If GetDataClosedWB(Pfad, _
                      Dateiname, _
                      Blatt, _
                      "A1:E4", _
                      ActiveSheet.Range("G10")) Then
                      'Worksheets("Tabelle3").Range("B10")) Then
      MsgBox "Daten importiert"
   End If
End Sub

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

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
Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste