Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
756to760
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
756to760
756to760
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Zugriff auf geschlossene Excel-Datei

Zugriff auf geschlossene Excel-Datei
25.04.2006 22:10:14
Sophie
Hallo,
hätte da mal eine Frage.
Ist es möglich bei einer nicht geöffneten Excel Datei deren Tabellenblätter zu kopieren, also ohne sie zu öffnen und die Kopierten Tabellenblätter in eine bereits geöffneten Datei einzufügen.
Mit einzelnen Zellen funktioniert dies ja, hab in der Recherche schon was gefunden, konnte dieses aber nicht ummünzen, sodaß die kompletten Tabellenblätter kopiert werden.
Der Hintergrund ist dieser, daß es ziemlich große Dateien mit vielen Tabellenblätter sind worauf ich zugreifen will, wobei ich von diesen nur wenige Tabellenblätter benötige, wenn ich diese Datei aber öffne, dauert dies ziemlich lange und somit möchte ich wenn möglich den Öffnungsvorgang umgehen.
Dies hab ich in der Recherche gefunden, wie gesagt nur einzelne Zellen.
Option Explicit

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


Sub AktualBasismittel()
Dim strSource As String
Dim i As Integer
'Tabellenblatt selektieren
Sheets("Basismittel").Select
Range("A1").Select
'Budget-Schleife
For i = 1 To 8 Step 1
strSource = "'C:\TEMP\[BASMIT.xls]BASMIT'!R" & i + 6 & "C2"
ActiveCell.Offset(3, 3 + i).Value = xl4Value(strSource)
Next i
End Sub

Gruss
Sophie

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zugriff auf geschlossene Excel-Datei
25.04.2006 22:59:38
Gerd
Hi,
kopieren aus/in geschlossenen Mappe ist nicht möglich!
mfg Gerd
AW: Zugriff auf geschlossene Excel-Datei
25.04.2006 23:53:13
Tassos
Hallo zusammen!
Hiermit kann man auf geschlossene Excel-Datei zugreifen-Bereiche kopieren:
Option Explicit

Sub importIt()
GetSheet ThisWorkbook.Path & "\test.xls", "Tabelle1", _
"A1:IV6500", Sheets("Tabelle2").Range("A1"), True  ' True = Überschriften Mit-Ohne
End Sub

Public

Sub GetSheet(dbfile As Variant, dbSheet As String, _
dbRange As String, newRange As Range, hdRow As Boolean)
Dim rs As ADODB.Recordset, cnt$, xSQL$, i&
If Range(dbRange).Rows.Count = 1 Then
cnt = "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=" & dbfile & ";" & _
"Extended Properties=""Excel 8.0;HDR=No"";"
Else
cnt = "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=" & dbfile & ";" & _
"Extended Properties=""Excel 8.0;HDR=Yes"";"
End If
xSQL = "SELECT * FROM [" & dbSheet$ & "$" & dbRange$ & "];"
On Error GoTo Mistake
Set rs = New ADODB.Recordset
rs.Open xSQL, cnt, adOpenForwardOnly, _
adLockReadOnly, adCmdText
If Not rs.EOF Then
If Range(dbRange).Rows.Count = 1 Then
newRange.Cells(1, 1).CopyFromRecordset rs
Else
If hdRow Then
For i = 0 To rs.Fields.Count - 1
newRange.Cells(1, 1 + i).Value = _
rs.Fields(i).Name
Next i
newRange.Cells(2, 1).CopyFromRecordset rs
Else
newRange.Cells(1, 1).CopyFromRecordset rs
End If
End If
Else
MsgBox "No records returned from : " & dbfile, vbCritical
End If
rs.Close
Set rs = Nothing
Exit Sub
Mistake:
MsgBox "The file name, Sheet name or Range is invalid of : " & dbfile, _
vbExclamation, "Error"
On Error GoTo 0
End Sub


Function arrSort(arrlst As Variant) As Variant
Dim aCnt As Integer, bCnt As Integer
Dim stmp As String
For aCnt = LBound(arrlst) To UBound(arrlst) - 1
For bCnt = aCnt + 1 To UBound(arrlst)
If arrlst(aCnt) > arrlst(bCnt) Then
stmp = arrlst(bCnt)
arrlst(bCnt) = arrlst(aCnt)
arrlst(aCnt) = stmp
End If
Next bCnt
Next aCnt
arrSort = arrlst
End Function


Function LRow(sh As Worksheet)
On Error Resume Next
LRow = sh.Cells.Find(What:="*", _
After:=sh.Range("A1"), _
Lookat:=xlPart, _
LookIn:=xlFormulas, _
SearchOrder:=xlByRows, _
SearchDirection:=xlPrevious, _
MatchCase:=False).Row
On Error GoTo 0
End Function

Schöne Grüsse
Tassos
Anzeige
AW: Zugriff auf geschlossene Excel-Datei
26.04.2006 00:07:09
Tassos
Habe vergessen zu schreiben
Der Verweis
"Microsoft Activex DataObjects 2.5 Library" muss aktiviert werden.
Gruss
Tassos
AW: Zugriff auf geschlossene Excel-Datei
26.04.2006 06:54:25
Sophie
Vielen Dank Tassos, werde dieses mal ausprobieren.
Schöne Grüsse
Sophie
AW: Zugriff auf geschlossene Excel-Datei
26.04.2006 00:07:31
Gerd
Hi,
das ist doch kein kopieren.
mfg Gerd
AW: Zugriff auf geschlossene Excel-Datei
26.04.2006 00:27:45
Tassos
Hallo Gerb,
eine geschlossene Mappe kan man nur Als ADODB.Recordset "behandeln".
Der befehl "CopyFromRecordset" sorg für das Kopieren des vordefinierten Bereiches
nach dem vordefinierten ZielTabelle bzw Ziel Bereich Zelle für Zelle (DatenBank-Zugriff)
mfg
Tassos
AW: Zugriff auf geschlossene Excel-Datei
26.04.2006 22:27:49
Sophie
Hallo Tassos,
dein Programm ist genau das was ich brauche. Nur funktioniert es komischerweise nicht auf die ganzen kopierten Bereich, 90% wird super kopiert, die anderen 10% fehlen.
Dieses ist ein Ausschnitt des zu kopierenden Tabellenblattes, wenn ich Dein Programm verwende werden mir sämtliche Zahlenauswertungen nicht mit kopiert, auch die oberste Zeile fehlt mir entweder ganz oder wird mit einer Überschrift F1... versehen, die übertragenen Datum sind wenn vorhanden auch komisch mit # getrennt.
Vielleicht weißt Du mir Rat.
Das Programm hab ich zum Laufen gebracht, aber für was sind die 2 Functionen gedacht?
https://www.herber.de/bbs/user/33144.xls
Schöne Grüße
Sophie
Anzeige
AW: Zugriff auf geschlossene Excel-Datei
29.04.2006 02:08:26
Tassos
Hallo Sophie,
Die 10 % der nicht kopierten Daten sind numerische Werte, Formatierte Datumswerte usw,
die per ADO bzw. Dao nicht kopiert werden können.
Weiteres Problem ist die erste Zeile des Quellblattes die von diesen Import-Methoden als Überschriftenzeile geschätzt wird(oder sie wird ignoriert; je nach Einstellung)
Mehrere Infos gibt es hier: http://support.microsoft.com/?scid=kb;de;257819&spid=1743&sid=97#E0LJ0AEAAA
Die 2 Funktionen sind in deinem Fall überflüssig (habe in meinem vorigen Posten einfach zuviel kopiert)!
Hier ein Beispiel basierend auf deinem aus deinem Datenausschnitt:
https://www.herber.de/bbs/user/33219.zip
Schöne grüsse
Tassos
Anzeige

302 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige