PDA

Vollständige Version anzeigen : Wert aus Zelle aus geschlossener Datei kopieren


Ladi
04.10.2016, 10:03
Hallo zusammen

Ich habe mir einen Code erstellt, der den Zellinhalt aus einer anderen Datei in die aktuelle Datei kopiert.
Jetzt möchte ich aber die Bezugsdatei geschlossen halten.
Kann man diesen Code umbau das die Bezugsdatei nicht geöffnent wird?
Es sind über 300 Zellen in mehrren Tabellen in der selben Datei die kopiert werden.

Hier mein Code mit der geöffneten Bezugsdatei.
Private Sub cmd_Datenimport_Click()
Workbooks.Open(ThisWorkbook.Path & "\" & "Projektdatenblatt.xlsm")

Dim wksLesen As Worksheet, wksSchreiben As Worksheet
Set wksLesen = Workbooks("Bezugsdatei.xlsm").Worksheets("Tabelle1")
Set wksSchreiben = ThisWorkbook.Worksheets("Tabelle1")
wksSchreiben.Range("B1") = wksLesen.Range("C4")
wksSchreiben.Range("B2") = wksLesen.Range("E7")
wksSchreiben.Range("B3") = wksLesen.Range("A15")

Vielen Dank für eure Hilfe

Beverly
04.10.2016, 10:14
Hi,

wie macht man so etwas normalerweise? Indem man eine Zellverknüpfung erstellt - per VBA dann nach diesem Prinzp (im konkreten Fall ungetestet):

wksSchreiben.Range("B1").Formula = "='" & ThisWorkbook.Path & "\[Projektdatenblatt.xlsm]Tabelle1'!C4"

Anschließend kannst du die Formelergebnisse noch in Werte umwandeln.

<hr width="20%" align="left"><img src="http://excel-inn.de/images/grusz.gif" height=35" align="left" alt="Grußformel"><a href="http://excel-inn.de/"><img border="0" src="http://excel-inn.de/images/logo1.gif" height=35" align="middle" alt="Beverly's Excel - Inn"></a>

Ladi
04.10.2016, 10:46
Hallo Karin

Vielen Dank für die rasche Hilfe genau das habe ich gesucht und erst noch so simpel einfach.

Gruss Ladi

Ladi
07.10.2016, 11:19
Der Code funktioniert im Brinzip einwandfrei.
Ich habe einfach einen Überlegungsfehler gemacht.

Dies ist ja eine Verknüpfung wie Karin auch erwähnt.
Jetzt wenn ich die Bezugsdatei lösche kann ja logischer weise auch die Verknüpfung nicht mehr funktionieren.

Ich muss also die Daten kopieren und kann diese nicht einfach verknüpfen.
Die Zieldatei ist so zu sagen ein Zwischenspeicher.
Wenn alle Daten dort drin sind möchte ich die Bezugsdatei durch eine neue Datei mit dem selben Dateinamen ersetzten.

Wie muss ich diesen Code umschreiben.
Vielen Dank für eure Hilfe.

Beverly
07.10.2016, 11:34
Hi,

mache alles so wie gepostet und wandle dann anschließend die Formelergebnisse in Werte um.

<hr width="20%" align="left"><img src="http://excel-inn.de/images/grusz.gif" height=35" align="left" alt="Grußformel"><a href="http://excel-inn.de/"><img border="0" src="http://excel-inn.de/images/logo1.gif" height=35" align="middle" alt="Beverly's Excel - Inn"></a>