Clever-Excel-Forum

Normale Version: VBA Zelle kopieren
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo zusammen,

Ich habe eine Datei „A“ in der ich eine leere Tabelle habe. 
In der zweiten Datei „B“ stehen verschiedne Informationen.
Jetzt würde ich gerne aus der Datei „B“ zb die Zelle „B2“ kopieren/auslesen und
In meine  Datei „A“ in die Zeile „F8“ einfügen, ohne die Datei „B“ vorher geöffnet zu haben.

Irgendwie klappt das nicht so ganz, könnt ihr mir helfen?

Gruß, 
Aidan
Hallo, :19:

Code in Datei "A" und Anpassungen noch vornehmen! :21:

Code:
Option Explicit
Const strSheetQ As String = "Tabelle1" ' DIE Tabelle wird ausgelesen"
Const strSheetZ As String = "Tabelle1" ' Die Tabelle in DIESER Datei
Const strRangeQ As String = "B2" ' Der Quellbereich wird ausgelesen
Const strRangeZ As String = "F8" ' Der Zielbereich
Const strFile As String = "C:\Temp\TestDatei.xls" ' Pfad und Datei
Public Sub Main()
    With ThisWorkbook.Worksheets(strSheetZ)
        .Range(strRangeZ).Formula = "='" & Mid(strFile, 1, _
            InStrRev(strFile, "\")) & "[" & _
            Mid(strFile, InStrRev(strFile, _
            "\") + 1) & "]" & _
            strSheetQ & "'!" & strRangeQ
            .Range(strRangeZ).Value = .Range(strRangeZ).Value
    End With
End Sub
Hi,

noch n Vosrchlag:

Code:
Option Explicit

Sub CopyA()
    Dim wkbQuelle As Workbook 'Datei B
    Dim wkbZiel As Workbook 'Datei A
    Dim wksQuelle As Worksheet 'Arbeitsblatt in Datei B
    Dim wksZiel As Worksheet 'Arbeitsblatt in Datei A
    Dim sQuellDatei As String
    '
    On Error GoTo err
    '
    sQuellDatei = "C:\Test\testdatei.xlsx" '<-- anpassen; muss vorhanden sein
    Set wkbZiel = ThisWorkbook
    Set wksZiel = wkbZiel.Worksheets.Add(after:=wkbZiel.Worksheets.Count)
    Set wkbQuelle = Workbooks.Open(sQuellDatei)
    Set wksQuelle = wkbQuelle.Worksheets("Tabelle1") '<-- anpassen, Blattname muss vorhanden sein
    '
    wksZiel.Range("F8").Value2 = wksQuelle.Range("B2").Value2 'lese Datei B, Zelle B2 und schreibe in Datei A Zelle F8
    '
    wkbQuelle.Close False
err:
If err.Number <> 0 Then
    MsgBox err.Number & vbCrLf & err.Description
End If
Set wksZiel = Nothing: Set wksQuelle = Nothing: Set wksQuelle = Nothing: Set wkbZiel = Nothing
End Sub