Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

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.
Antworten 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
Gruss

Ein Lob ist der Lohn
Ein Tadel der Ansporn
Antworten Top


Gehe zu:


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