AW: Werte aus einer anderen xls-File kopieren
08.10.2008 11:56:20
fcs
Hallo Horst,
zur Auswahl von Zellen hat Excel-VBA eine Input-Box mit Parametern. Diese muss du in dein Makro einbauen.
Dabei ist die Kontrolle der jeweiligen Objekte sehr wichtig und müssen deshalb entsprechenden Objekt-Variablen zugewiesen werden.
Nachfolgend dein Code beispielhaft angepasst.
Gruß
Franz
Sub Kopieren()
Dim datum As Long
Dim datei As String
Dim wbQuelle As Workbook, wbZiel As Workbook
Dim rngZiel As Range, rngMarkierung As Range
On Error GoTo Fehler
datum = Worksheets("Ostnetz").Range("M10").Value
datei = "X:\TS-M\Auswertung Ostnetz\" & datum & "_Prescott.xls"
'datei = "C:\Lokale Daten\Test\Daten\" & "Test99.xls"
Range("L12").Activate
Range("L12").Value = datei
Set wbZiel = ActiveWorkbook
'Quelldatei schreibgeschützt öffnen
Workbooks.Open Filename:=datei, ReadOnly:=True
Set wbQuelle = ActiveWorkbook
'Zeilen in Quelle auswählen
Set rngMarkierung = Application.InputBox(Prompt:="Bitte zu kopierende Zeilen markieren", _
Title:="Daten aus anderer Datei kopieren", _
Type:=8)
wbZiel.Activate
'Zielzeile auswählen
Set rngZiel = Application.InputBox(Prompt:="Bitte Zelle in Einfüge-Zeile markieren", _
Title:="Daten aus anderer Datei kopieren", _
Type:=8)
'daten kopieren/einfügen
rngMarkierung.EntireRow.Copy
ActiveSheet.Cells(rngZiel.Row, 1).Insert shift:=xlShiftDown
Application.CutCopyMode = False
Fehler:
If Err.Number 0 Then
If Err.Number = 424 And (rngMarkierung Is Nothing Or rngZiel Is Nothing) Then
'Es wurde kein Zellbereich ausgewählt. Makro wird beendet."
Else
MsgBox "Fehler-Nr.: " & Err.Number & vbLf & Err.Description
End If
End If
'ggf geöffnete Quelldatei wieder schliessen
If Not wbQuelle Is Nothing Then wbQuelle.Close savechanges:=False
End Sub