Daten aus geschlossener Arbeitsmappe kopieren

Informationen und Beispiele zu den hier genannten Dialog-Elementen:
Bild

Betrifft: Daten aus geschlossener Arbeitsmappe kopieren
von: Sarah
Geschrieben am: 13.10.2003 12:28:42

Hi,
ich habe das Problem, dass ich aus einer Arbeitsmappe Daten aus einer geschlossenen Arbeitsmappe herauskopieren will. Ich habe folgendes Makro geschrieben:


Private Sub CommandButton1_Click()
Workbooks.Open FileName:="C:\WINNT\...\Mappe2.xls"
Workbooks("Mappe2").Activate
Worksheets("Tabelle1").Select
Range("B3").Select 
    Selection.Copy
    ActiveWindow.Close
    Range("B9").Select
    ActiveSheet.Paste
End Sub

Wenn ich dieses Makro ausführen will bekomme ich jedoch folgende Fehlermeldung:"Die Select-Methode des Range-Objektes ist Fehlerhaft".
Kann mir irgendwer sagen, wie ich das beheben kann oder kenn einen besseren Weg?

Danke schon mal
Sarah
Bild


Betrifft: AW: Daten aus geschlossener Arbeitsmappe kopieren
von: Hajo_Zi
Geschrieben am: 13.10.2003 12:32:52

Hallo Sarah

für eine einzelene Zelle

Option Explicit
' von Alf Herber Forum
' https://www.herber.de/forum/archiv/52to56/t52834.htm#52840
Sub TestGetValue()
Dim p As String
Dim f As String
Dim s As String
Dim r As String
p = "D:\Eigene Dateien\Hajo\"
f = "Adresse.xls"
s = "Adresse"
r = "B4"
MsgBox GetValue(p, f, s, r)
Worksheets("Tabelle1").Range("A1") = GetValue(p, f, s, r)
End Sub


Private Function GetValue(path, file, sheet, ref)
'   Retrieves a value from a closed workbook
    Dim arg As String
'   Make sure the file exists
    If Right(path, 1) <> "\" Then path = path & "\"
    If Dir(path & file) = "" Then
        GetValue = "File Not Found"
        Exit Function
    End If
'   Create the argument
    arg = "'" & path & "[" & file & "]" & sheet & "'!" & _
      Range(ref).Range("A1").Address(, , xlR1C1)
'   Execute an XLM macro
    GetValue = ExecuteExcel4Macro(arg)
End Function




Falls Code vorhanden wurde dieser getestet unter Betriebssystem XP Pro und Excel Version XP SBE.
Bitte kein Mail, Probleme sollen im Forum gelöst werden.

Microsoft MVP für Excel

Das Forum lebt auch von den Rückmeldungen.

http://home.media-n.de/ziplies/



Bild


Betrifft: AW: ?????
von: Hajo_Zi
Geschrieben am: 13.10.2003 12:36:46

Hallo Sarah

mein Ansatz war völlig falsch ich habe mich darauf verlassen das der Betreff stimmt. Dem war aber nicht so.



Falls Code vorhanden wurde dieser getestet unter Betriebssystem XP Pro und Excel Version XP SBE.
Bitte kein Mail, Probleme sollen im Forum gelöst werden.

Microsoft MVP für Excel

Das Forum lebt auch von den Rückmeldungen.

http://home.media-n.de/ziplies/



Bild


Betrifft: AW: ?????
von: Sarah
Geschrieben am: 13.10.2003 12:40:34

Danke, ich werde es damit mal versuchen.
Was wolltest du mir mit "der Betreff stimmt nicht" eigentlich sagen?


Bild


Betrifft: AW: ?????
von: Hajo_Zi
Geschrieben am: 13.10.2003 12:42:32

Hallo Sarah

Deine Datei wird in Deinem Code geöffnet und damit ist Sie nicht mehr geschlossen.

Auf Select, Activate usw. kann zu 99% in VBA verzichtet werden.



Falls Code vorhanden wurde dieser getestet unter Betriebssystem XP Pro und Excel Version XP SBE.
Bitte kein Mail, Probleme sollen im Forum gelöst werden.

Microsoft MVP für Excel

Das Forum lebt auch von den Rückmeldungen.

http://home.media-n.de/ziplies/



Bild


Betrifft: AW: ?????
von: Sarah
Geschrieben am: 13.10.2003 12:51:58

Kannst du mir vielleicht trotzdem erklären, wie ich den Kopiervogang beenden kann?


Bild


Betrifft: AW: ?????
von: Hajo_Zi
Geschrieben am: 13.10.2003 12:57:45

Hallo Sarah


Private Sub CommandButton1_Click()
    Workbooks.Open Filename:="C:\WINNT\...\Mappe2.xls"
    Workbooks("Mappe2").Worksheets("Tabelle1").Range("B3").Copy _
        Destination:=ThisWorkbook.ActiveSheet.Range("B9")
    ActiveWindow.Close
End Sub



Falls Code vorhanden wurde dieser getestet unter Betriebssystem XP Pro und Excel Version XP SBE.
Bitte kein Mail, Probleme sollen im Forum gelöst werden.

Microsoft MVP für Excel

Das Forum lebt auch von den Rückmeldungen.

http://home.media-n.de/ziplies/



Bild


Betrifft: AW: ?????
von: Sarah
Geschrieben am: 13.10.2003 13:17:46

Danke!!!
Es hat geklappt! Zwei Wochen Verzweifelung haben ein Ende, jetzt komme ich auch weiter!

MfG
Sarah


Bild


Betrifft: AW: Daten aus geschlossener Arbeitsmappe kopieren
von: Andi_H
Geschrieben am: 13.10.2003 12:34:15

Hi Sarah,

setzte mal bei den Eigenschaften des Buttons TakeFocusOnClick auf false.

Gruß

ANdi


Bild


Betrifft: AW: Daten aus geschlossener Arbeitsmappe kopieren
von: Sarah
Geschrieben am: 13.10.2003 12:50:53

Danke für den Tipp, aber leider bringt er mich nicht weiter, er gibt immernoch die gleiche Fehlermeldung raus.


Bild


Betrifft: AW: Daten aus geschlossener Arbeitsmappe kopieren
von: Sabine
Geschrieben am: 13.10.2003 12:40:23

Wie heißt dein Worksheet wirklich "Tabellel" oder "Tabelle 1"


Bild


Betrifft: AW: Daten aus geschlossener Arbeitsmappe kopieren
von: Sarah
Geschrieben am: 13.10.2003 12:48:46

Es heißt "Tabelle1" das soll eine eins sein (Standartbezeichnung bei Excel halt)


Bild


Betrifft: AW: Daten aus geschlossener Arbeitsmappe kopieren
von: WernerB.
Geschrieben am: 13.10.2003 12:51:27

Hallo Sarah,

teste doch mal dieses Makro in Verbindung mit der dazugehörigen Funktion. Die Quell-Datei muss dazu nicht geöffnet werden; d.h., die ganze Dateiöffnungsprozedur entfällt.
Der Wert (aber keine Formatierung) aus der Quelldatei, Blatt "Tabelle1", Zelle B3, wird ausgelesen und in die Zieldatei, aktives Blatt, Zelle B9, eingetragen.

Function xl4Value(strParam As String) As Variant
    xl4Value = ExecuteExcel4Macro(strParam)
End Function


Sub AktualBasismittel()
Dim strSource As String
    strSource = "'C:\WINNT\...\Mappe2.xls]Tabelle1'!R3C2"
    Range("B9").Value = xl4Value(strSource)
End Sub

Viel Erfolg wünscht
WernerB.

P.S.: Das Forum lebt auch von den Rückmeldungen der Fragesteller an die Antworter (siehe Forums-FAQ).


Bild


Betrifft: AW: Daten aus geschlossener Arbeitsmappe kopieren
von: Sarah
Geschrieben am: 13.10.2003 13:04:42

Danke,
ich habe es mal ausprobiert. Jetzt bekomme ich die Fehlermeldung, dass er den ungültigen Pfad "ExecuteExcel4Macro(strParam)"
enthält und da ich diesen Teil sowieso nicht ganz verstanden habe, werde ich diesen Fehler wohl auch nicht ohne Hilfe los. ;-)


Bild


Betrifft: AW: Daten aus geschlossener Arbeitsmappe kopieren
von: WernerB.
Geschrieben am: 13.10.2003 13:47:51

Hallo Sarah,

uuups - ich habe gerade festgestellt, dass mir wohl eine eckige Klammer vor dem Dateinamen verlorengegangen ist.
Außerdem musst Du natürlich die drei Punkte in der Zeile

strSource = "'C:\WINNT\...\[Mappe2.xls]Tabelle1'!R3C2"

schon durch den/die richtigen Ordner des korrekten Pfades Deiner Quelldatei ersetzen.

Funktion und Makro gehören in ein normales Standard-Modul.
Das Makro geht in die Funktion und holt sich da den Wert aus der geschlossenen Datei (mit einer dateiübergreifenden Verknüpfung vergleichbar).
Das "R3C2" am Ende bedeutet Row (Zeile) 3, Column (Spalte) 2; dies entspricht der Zelladresse "B3".
Hier noch mal Funktion und korrigiertes Makro:

Function xl4Value(strParam As String) As Variant
    xl4Value = ExecuteExcel4Macro(strParam)
End Function


Sub Sarah()
Dim strSource As String
    strSource = "'C:\WINNT\...\[Mappe2.xls]Tabelle1'!R3C2"
    Range("B9").Value = xl4Value(strSource)
End Sub

Gruß WernerB.


Bild


Betrifft: AW: Daten aus geschlossener Arbeitsmappe kopieren
von: Sarah
Geschrieben am: 13.10.2003 13:57:13

Danke!
Die eckige Klammer war es! (das mit dem Pfad war mir auch klar!)
Danke jetzt kann ich endlich weitermachen!

Nochmal Tausend Dank
MfG
Sarah


 Bild

Beiträge aus den Excel-Beispielen zum Thema " Daten aus geschlossener Arbeitsmappe kopieren"