VBA mit Excel: Bereich kopieren und einfuegen

Ich habe auf meinem Formular bisher einen Button „Datei auswaehlen“.
Da kann sich der Anwender eine andere Exceltabelle aussuchen. Diese wird geoeffnet und der Anwender muss schliesslich einen Bereich auswaehlen, der kopiert werden soll. Nun moechte ich die Werte kopieren, aber bekomme ich jetzt ein Problem. Denn es werden nicht alle Werte festgehalten, sondern nur einer. Und danach moechte ich die Werte in einer anderen Exceltabelle einfuegen ohne dass ich einen bestimmten Bereich angebe. Es soll an der genau gleichen Stelle der anderen Exceltabelle eingefuegt werden, wie der Anwender sie bei der anderen ausgewaehlt hat.
Kann mir dabei jemand weiterhelfen?

Das ist mein bisheriger Quellcode von dem Button „Datei auswaehlen“:

Private Sub Dateiauswaehlen_Click()

'Laufwerk Vorgabe setzen
ChDir „“
ChDrive „c:“

'Das Dialogfenster
Dateiname = Application.GetOpenFilename _
(„Micrsoft Excel-Dateien (*.xls),*.xls“)
If Dateiname = False Then Exit Sub
MsgBox „Ihre Auswahl:“ & vbNewLine & Dateiname

'Datei oeffen und entsprechendes Tabellenblatt aktivieren
Workbooks.Open (Dateiname)
Worksheets(„Sheet1“).Activate

'zu kopierende Bereich muss von dem Anwender markiert werden.
Adresse = Application.InputBox(„Bitte Bereich
markieren“, „Bereich auswaehlen“)
'in der Adresse steht nur ein Wert --> Problem

'Aktivierung des Tabellenblatts, in das die Werte eingefuegt
werden sollen
Workbooks(„ersterSchritt“).Worksheets(1).Activate
'Werte einfuegen, aber wie??

End Sub

Hallo, Lilli!

Ein paar Anpassungen sind nötig:

Sub Dateiauswaehlen\_Click()
' Variablen deklarieren: Ist sauberer
Dim Adresse As Range
Dim Dateiname As String
Dim wbDatei As Workbook

'Laufwerk Vorgabe setzen
ChDir "\"
ChDrive "c:\"

'Das Dialogfenster
Dateiname = Application.GetOpenFilename \_
("Micrsoft Excel-Dateien (\*.xls),\*.xls")
If Dateiname = "Falsch" Then Exit Sub
MsgBox "Ihre Auswahl:" & vbNewLine & Dateiname

'Datei oeffen und entsprechendes Tabellenblatt aktivieren
Set wbDatei = Workbooks.Open(Dateiname)
Worksheets(1).Activate

'zu kopierende Bereich muss von dem Anwender markiert werden.
' Wichtig: Es wird ein Range zurückgegeben, daher die Typ=8 am Ende (s. Onlinehilfe)
Set Adresse = Application.InputBox("Bitte Bereich markieren", "Bereich auswaehlen", , , , , , 8)
' Diesen Range kopieren
Adresse.Copy

'Aktivierung des Tabellenblatts, in das die Werte eingefuegt werden sollen
Workbooks("ersterSchritt.xls").Worksheets(1).Activate
'Aktivierung des identischen Bereichs
Workbooks("ersterSchritt.xls").Worksheets(1).Range(Adresse.Address).Select
' und einfügen
Workbooks("ersterSchritt.xls").Worksheets(1).Paste
' die geöffnete Datei wieder schließen
wbDatei.Close False

End Sub

Gruß, Manfred

Es
soll an der genau gleichen Stelle der anderen Exceltabelle
eingefuegt werden, wie der Anwender sie bei der anderen
ausgewaehlt hat.
Kann mir dabei jemand weiterhelfen?

Hi Lilli,

Manfred hat ja schon die Hauptarbeit gemacht. Darauf aufbauend noch paar Änderungen.

Option Explicit
'
Sub Dateiauswaehlen\_Click()
' Variablen deklarieren: Ist sauberer
Dim Adresse As Range, Dateiname As String, wbDatei As Workbook
'Laufwerk Vorgabe setzen
ChDrive "c"
ChDir "c:\"
'Das Dialogfenster
Dateiname = Application.GetOpenFilename("Micrsoft Excel-Dateien (\*.xls),\*.xls")
If Dateiname = "Falsch" Then Exit Sub
MsgBox "Ihre Auswahl:" & vbNewLine & Dateiname
'Datei oeffen und entsprechendes Tabellenblatt aktivieren
With Workbooks("ersterSchritt.xls").Worksheets(1)
 Set wbDatei = Workbooks.Open(Dateiname)
 Worksheets(1).Activate
 'zu kopierende Bereich muss von dem Anwender markiert werden.
 ' Wichtig: Es wird ein Range zurückgegeben, daher die Typ=8 am Ende (s. Onlinehilfe)
 Set Adresse = Application.InputBox("Bitte Bereich markieren", "Bereich auswaehlen", , , , , , 8)
 ' Diesen Range kopieren ' und einfügen
 Adresse.Copy Destination:=.Range(Adresse.Address)
End With
' die geöffnete Datei wieder schließen
wbDatei.Close False
End Sub

Gruß
Reinhard