hi,
die Datei holt sich Daten von einer anderen Datei - hiermit:
Diese Funktion muss dazu existieren:
Jetzt kommt es vor, dass die angesprochene Datei, von der die Daten kommen soll, gar nicht vorhanden ist. Dann öffnet Excel immer diesen DialogÖffnen, wo man dann die Datei suchen könnte in dem Datei-Browser. Genau dieser Dialog soll sich aber erst gar nicht öffnen, oder automatisch schließen, wenn die Datei nicht vorhanden ist. Ich habe herausgefunden wie der heisst: Der heisst: Application.Dialogs(xlDialogOpen).Show
Aber wie ich den jetzt automatisch schließen kann - bzw. seine Öffnung unterdrücken kann, weiß ich nicht. Geht das?
lieben Dank
Julia :)
die Datei holt sich Daten von einer anderen Datei - hiermit:
Code:
Sub prcHoleDaten() 'funktioniert, die Funktion GetDataClosedWB muß vorhanden sein im Modul
Dim Pfad As String
Dim Dateiname As String
Dim Blatt As String
Dim Bereich As String
Dim Ziel As Range
Pfad = ThisWorkbook.Path & "\" 'Pfad wo sich die Datei befindet aus der kopiert werden soll. Also gleiches Verzeichnis wo sich die Hauptdatei befindet.
Dateiname = Worksheets("Calc3").Range("J111").text 'aus welcher Datei soll er holen?
Blatt = "Tabelle1" 'von welcher Tabelle soll er holen?
Bereich = "A6:AE40" 'aus welchem Bereich soll er holen?
Set Ziel = Worksheets("Tabelle1").Range("A6") 'in welchen Bereich soll er kopieren? Genauer gesagt: Bei welcher Zelle soll er anfangen, Datein reinzukopieren? Bsp: ActiveCell geht auch
If GetDataClosedWB(Pfad, Dateiname, Blatt, Bereich, Ziel) Then
End If
End Sub
Code:
Public Function GetDataClosedWB(SourcePath As String, _
SourceFile As String, _
sourceSheet As String, _
SourceRange As String, _
TargetRange As Range) As Boolean
'ist die Funktion für prcHoleDaten()
'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
Jetzt kommt es vor, dass die angesprochene Datei, von der die Daten kommen soll, gar nicht vorhanden ist. Dann öffnet Excel immer diesen DialogÖffnen, wo man dann die Datei suchen könnte in dem Datei-Browser. Genau dieser Dialog soll sich aber erst gar nicht öffnen, oder automatisch schließen, wenn die Datei nicht vorhanden ist. Ich habe herausgefunden wie der heisst: Der heisst: Application.Dialogs(xlDialogOpen).Show
Aber wie ich den jetzt automatisch schließen kann - bzw. seine Öffnung unterdrücken kann, weiß ich nicht. Geht das?
lieben Dank
Julia :)