1 freie Zeile statt B10 in bestehenden Macro änder
24.01.2010 11:23:41
snore
Hallo Excelprofis,
hab wieder ein Problem ich hab ein Macro von t.ramel, funktioniert super,
in diesen Macro werden Daten aus einer geschlossenen Arbeitsmappe Kopiert und in die Ziel Arbeitsmappe ab deb Bereich B10 beingefügt, soweit so gut.
Nun möchte ich aber das nicht ab der Zelle B10 eingefügt wird sondern immer an die 1 freie zeile in der Spalte B.
Public Function GetDataClosedWB(SourcePath As String, _
SourceFile As String, _
sourceSheet As String, _
SourceRange As String, _
TargetRange As Range) As Boolean
'Holt einen Bereich aus einer _geschlossenen_ Arbeitsmappe
'Nur in VBA zu verwenden; nicht aus einer Tabellenzelle heraus
'© t.ramel@mvps.org
Dim strQuelle As String
Dim Zeilen As Long
Dim Spalten As Byte
On Error GoTo InvalidInput
strQuelle = "'" & SourcePath & "[" & SourceFile & "]" & _
sourceSheet & "'!" & _
Range(SourceRange).Cells(1, 1).Address(0, 0)
Zeilen = Range(SourceRange).Rows.Count
Spalten = Range(SourceRange).Columns.Count
With TargetRange.Cells(1, 1).Resize(Zeilen, Spalten)
.Formula = "=IF(" & strQuelle & "="""",""""," & strQuelle & ")"
.Value = .Value
End With
GetDataClosedWB = True
Exit Function
InvalidInput:
MsgBox "Die Quelldatei oder der Quellbereich ist ungültig!", _
vbExclamation, "Get data from closed Workbook"
GetDataClosedWB = False
End Function
''Als Aufruf für die Funktin kannst Du dann z.B. sowas hier verwenden:
'Code:
Public Sub HoleDaten()
Dim Pfad As String
Dim Dateiname As String
Dim Blatt As String
Pfad = "D:\DeinPfad\"
Dateiname = "test.xls"
Blatt = "Tabelle1"
If GetDataClosedWB(Pfad, _
Dateiname, _
Blatt, _
"A5:DZ57", _
Worksheets("Tabelle3").Range("B10")) Then
MsgBox "Daten importiert"
End If
End Sub
könnt ihr mir bitte weiterhelfen, dankeGruß
snore