Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
476to480
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
476to480
476to480
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Verknüpfung Access-Excel

Verknüpfung Access-Excel
31.08.2004 08:42:43
Matthias
Guten Morgen erstmal!
ich habe mal eine Frage bzgl. einer Verknüpfung von Access und Excel. Vielleicht gibt es ja auch dafür Experten hier.
Ich würde (für einen automatisierten Import per VBA) gern die Tabellenlänge einer Exceldatei auslesen...
Hat jemand eine idee?
Hab hier was gefunden, aber das hat mir noch nicht geholfen:
https://www.herber.de/forum/archiv/116to120/t117227.htm
Danke schonmal,
Matthias

13
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Verknüpfung Access-Excel
03.09.2004 19:57:58
andre
Hallo Matthias,
wenn man noch wüßte, warum es nicht geholfen hat könnte man auch weiterhelfen ;-(
AW: Verknüpfung Access-Excel
06.09.2004 07:22:07
Matthias
Hi Andre,
Naja ich glaube der VBA Code dort ist auf Excel zugeschnitten, da ich ja die Abfrage aber aus Access heraus tätigen möchte müss ich ja irgendwie erstmal auf Excel zugreifen wenn ich dort eine Dateieigenschaft auslesen möchte...
Matthias
AW: Verknüpfung Access-Excel
06.09.2004 17:22:10
andre
Hallo Matthias,
meinst Du wirklich Dateieigenschaften? Da brauchst Du nicht unbedingt Excel. Wenn Du aber wie in dem Link beschrieben die letzte belegte Zelle wissen willst ist es schon nötig, Excel aufzumachen. Hier mal der Anfang eines Makro, wo ich auf Word zugreife:
Dim wordObj As Word.Application, mytemplate As Template, ATE As AutoTextEntry
Dim DeinDateiName As String
DeinDateiName = InputBox("Eingabe Hauptdokument: ", "Hauptdokument", ThisWorkbook.Sheets("Admin").[a1])
If DeinDateiName = "" Then DeinDateiName = ThisWorkbook.Sheets("Admin").[a1]
' Document öffnen
Set wordObj = CreateObject("Word.Application")
wordObj.Visible = False
wordObj.Documents.Open DeinDateiName
With wordObj
...
wordObj.Application.Quit
Für Excel musst Du es entsprechend umstricken und im Code und bei den Verweisen die entsprechende Version angeben und auswählen.
Anzeige
AW: Verknüpfung Access-Excel
07.09.2004 07:31:30
Matthias
Guten Morgen!
Hab mal versucht, das anzupassen. dabei heraus kommt dann:

Private Sub Befehl0_Click()
Dim XLSObj As Excel.Application, mytemplate As Template, ATE As AutoTextEntry
Dim DeinDateiName As String
DeinDateiName = InputBox("Eingabe Hauptdokument: ", "Hauptdokument", ThisWorkbook.Sheets("Admin").[a1])
If DeinDateiName = "" Then DeinDateiName = ThisWorkbook.Sheets("Admin").[a1]
' Document öffnen
Set wordObj = CreateObject("Excel.Application")
XLSObj.Visible = False
XLSObj.Documents.Open DeinDateiName
With XLSObj
XLSObj.Application.Quit
End Sub

Er bringt dabei einen Fehler in Zeile 3 ("dim xlsobj....") und sagt: Benutzerdefinierter Typ nicht definiert".
Und nun steh ich hier ich armer thor...!? ;)
Danke für jede Hilfe!
Matthias
Anzeige
AW: Verknüpfung Access-Excel
07.09.2004 18:14:59
andre
Hallo Matthias,
sorry, aber in dieser Zeile steht zuviel für Dich. Du brauchst nur den Anfang
Dim XLSObj As Excel.Application
Grüße, Andre
AW: Verknüpfung Access-Excel
14.09.2004 07:28:24
Matthias
Hmmm....
Guten morgen erstmal!
Zum problem:
Also wenn ich das so mache, dann sagt er mir:
"Fehler beim Kompilieren:
Projekt oder Bibliothek nicht gefunden"
...?! Was ist das nur!? hab ich irgendwelche wichtigen Verweise nicht gesetzt?!

Schönen Gruß aus der Hauptstadt,
Matthias
AW: Verknüpfung Access-Excel
14.09.2004 17:15:07
andre
Hallo Matthias,
den verweis auf Microsoft Excel... hast Du gesetzt?
Grüße, Andre
AW: Verknüpfung Access-Excel
15.09.2004 07:29:09
Matthias
Nein hatte ich nicht. Habs jetzt gemacht. und zwar auf die MS Excel 10.0 Object Libary
Jetz folgende fehlermeldung:
"Die Methode 'This Workbook' für das Objekt '_Global' ist fehlgeschlagen."
in der Zeile mit
"DeinDateiName = InputBox..."
????

Matthias
Anzeige
AW: Verknüpfung Access-Excel
15.09.2004 17:17:16
andre
Hallo Matthias,
so Zeile für Zeile kommen wir langsam weiter. Hätte wohl doch das Ding auf Excel umschreiben sollen ...
In den nächsten beiden Zeilen wird auf ThisWorkbook.Sheets("Admin").[a1] verwiesen, dort steht sozusagen ein Standardwert, der in der Inputbox angezeigt wird. Das sollte
dazu dienen, dass man nicht im code ändern muss wenn man die Vorgabe ändern will.
Wenn Du den code von Access ausführst geht das natürlich nicht, denn dort hast Du ja kein sheet. Schreibe also stattdessen den Dateinamen fest rein, z.b. "c:\test.xls"
DeinDateiName = InputBox("Eingabe Hauptdokument: ", "Hauptdokument", ThisWorkbook.Sheets("Admin").[a1])
If DeinDateiName = "" Then DeinDateiName = ThisWorkbook.Sheets("Admin").[a1]
Grüße, Andre
Anzeige
AW: Verknüpfung Access-Excel
16.09.2004 08:27:38
Matthias
Guten Morgen Andre,
hab jetzt eien Code gefunden, der bei mir funktioniert:
Dim xlsAnw As Object
Set xlsAnw = CreateObject("Excel.Application")
xlsAnw.Visible = True
xlsAnw.WindowState = -4137 '-4143 = Normal, -4137 = Maximized; -4140 = Minimized
xlsAnw.Workbooks.Add
xlsAnw.Windows(1).Activate
Set xlsAnw = Nothing
Zu deinem Code:
jetzt bringt er mir einen Fehler bei:
XLSObj.Documents.Open DeinDateiName
und sagt: "Laufzeitfehler 438: Objekt unterstützt diese Eigenschaft oder Methode nicht."
:)
Woher hast du eigentlich dein VBA Wissen? Kannst du ein gutes Excel VBA Buch zum Reinschnuppern empfehlen?
Gruß,
Matthias
Anzeige
AW: Verknüpfung Access-Excel
16.09.2004 21:23:55
andre
Hallöchen,
statt XLSObj.Documents.Open DeinDateiName
XLSObj.workbooks.Open DeinDateiName
Das war wohl nun die letzte fehlerhafte Zeile, in der nächsten kann nichts mehr schiefgehen was mit der Umprogrammierung von Word auf Excel zusammenhängt. Hatte ja am Anfang gedacht, dass Du mit VBA gut alles hinbekommst :-( Na ja, so haben wir es auch geschafft.
Grüße, Andre
AW: Verknüpfung Access-Excel
17.09.2004 07:33:08
Matthias
Hm, also er macht erstmal was, aber er öffnet nicht Excel. Ist das richtig?
Jetzt zurück zu meiner Ausgangsfrage: Wie lese ich aus dem geöffneten Workbook nun die Tabellenlänge aus. bzw. Spreche konkrete Zellen an (in denen ich ja mit ZÄHLEWENN eine Zahl hinterlegen könnte)?
Dankschö'! :)
Anzeige
AW: Verknüpfung Access-Excel
17.09.2004 21:24:09
andre
Hallo Matthias,
stimmt denn VBA gut? Da sollte man schon erkennen, dass visible=false das eine oder andere ausblendet ...
Hier der code noch mal zusammen:

Private Sub Befehl0_Click()
Dim XLSObj As Excel.Application, a As Long
DeinDateiName = "c:\test\test.xls"
Set XLSObj = CreateObject("Excel.Application")
XLSObj.Visible = False
XLSObj.Workbooks.Open DeinDateiName
On Error GoTo fehler
With XLSObj
a = .Sheets(1).Cells(65536, 1).End(xlUp).Row
MsgBox "Letzte genutzte Zeile in Spalte A: " & a
.Sheets(1).Cells(a + 1, 1) = "hier war ich"
End With
XLSObj.ActiveWorkbook.Save
XLSObj.Application.Quit
Exit Sub
fehler:
MsgBox Err.Number & vbTab & Err.Description
XLSObj.Application.Quit
End Sub

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige