Supportnet Computer
Planet of Tech

Supportnet / Forum / Datenbanken

Variable als Datenblattname mitgeben





Frage

Hi Leute, habe über VBA eine Anweisung geschrieben, dass eine Abfrage direkt nach Excel ausgegeben wird. Funzt. Jetzt möchte ich noch gerne den Wert einer Variablen dem erstellten Datenblatt zuweisen. Das kann ich doch bestimmt mit Access2000 machen - aber wie? Gruß Jürgen

Antwort 1 von 14071

habe mir gerade überlegt, dass es auch Sinn machen würde, die Variable als Dateinamen einzusetzen. Da weiss ich aber auch nicht wie das funktioniert.

Bin dankbar für Hilfe.
ciao

Antwort 2 von 14071

Moin,

keine eine Idee, wie ich das hinbekommen könnte? :-(



Antwort 3 von Teddy7

Hallo Jürgen !
Das müßte irgendwie unter dem definierten Excel-Object ein workbook.saveas ... sein.
Was hast Du denn bisher als VBA-Code.
Es gibt mehrere Möglichkeiten Daten an Excel zu geben.
Poste doch mal Deinen Code, oder mail ihn mir zu.
Gruß
Teddy

Antwort 4 von 14071

Hi Teddy,

bisher hab ich folgenden Code:
Private Sub Befehl20_Click()
' übergibt die Daten des Berichts Vertragsliste_Personal an die Exceltabelle Vertrag

DoCmd.OutputTo acOutputReport, "Vertragsliste_Personal", _
acFormatXLS, "Vertrag.xls", True

End Sub

als Variable würde ich mit Dim KP as string den Namen eines Mitarbeiters definieren und mit KP = Feldname auslesen, das funktioniert in einer anderen Prozedur auch schon.

Danke, daß Du Dich mit meinem Problem beschäftigst.

Gruß
Jürgen

Antwort 5 von Teddy7

Hallo Jürgen !
Durch den DoCmd wird die Excel-Datei schon angelegt. Wenn Du einen anderen Datei-Namen haben willst, mußt Du ihn im DoCmd bereits mitgeben.
Im folgenden Code habe ich die Excel-Datei anschließend nochmal geöffnet und den Namen des ersten Tabellenblatts geändert. Dazu habe ich den letzten Parameter des DoCmd auf false ändern müssen weil die Datei sonst geöffnet ist und ich deshalb nichts ändern kann.
----------------
Private Sub Test_Click()
Dim xdatei As String
Dim xtab As String
xdatei = "C:\Vertrag.xls"
xtab = "Blatt1"
DoCmd.OutputTo acOutputReport, "repDetails", _
acFormatXLS, xdatei, False
Dim objExcel As Excel.Application
Set objExcel = New Excel.Application
objExcel.Visible = True
objExcel.Workbooks.Open xdatei
objExcel.Sheets(1).Select
objExcel.ActiveSheet.Name = xtab
objExcel.ActiveWorkbook.Save
objExcel.Workbooks.Close
Set objExcel = Nothing
End Sub
-----------------
Gruß
Teddy

Antwort 6 von 14071

Hi Teddy,

der Code bleibt bei mir in der Zeile hängen, in der objExcel als Excel.App deklariert wird. Die Fehlermeldung lauten "benutzerdefinierter Typ nicht definiert". Vermute mal, daß ich Access irgendwie mitteilen muß, daß es ein objExcel gibt. Wie gehe ich dabei vor?

Gruß
Jürgen

Antwort 7 von Teddy7

sorry - hätte ich dran denken müssen.
In dem Bild, in dem Du den Code eingegeben hast, über Extras -> Verweise
die Microsoft Excel 8.0 Object library (für A97) einbinden. (evtl. zusätzlich noch die Microsoft Office 8.0 Object library)
Gruß
Teddy

Antwort 8 von 14071

Guten Morgen Teddy,

hab gerade die Libraries eingebunden.

Es funzt perfekt - :-))).

Herzlichen Dank
Jürgen

Ich möchte kostenlos eine Frage an die Mitglieder stellen:


Ähnliche Themen:


Suche in allen vorhandenen Beiträgen: