Ich übergebe Daten aus Access in ein Excel Formular. Das funktioniert auch. Nun besteht u.a. ein Excel Formular aus mehreren Tabellenblättern. Kann ich die Daten in ein bestimmtes Tabellenblatt einfügen. Wie lautet der Aufruf.
Hallo,
hier ist der Ansatz für die Datenübergabe in ein bestimmtes Tabellenblatt von Excel zu finden.
http://www.tech-archive.net/Archive/German/Access/mi…
Gruß Armin
hi
Ich übergebe Daten aus Access in ein Excel Formular. Das
funktioniert auch. Nun besteht u.a. ein Excel Formular aus
mehreren Tabellenblättern. Kann ich die Daten in ein
bestimmtes Tabellenblatt einfügen. Wie lautet der Aufruf.
Grüezi Jürgen
Ich übergebe Daten aus Access in ein Excel Formular. Das
funktioniert auch. Nun besteht u.a. ein Excel Formular aus
mehreren Tabellenblättern. Kann ich die Daten in ein
bestimmtes Tabellenblatt einfügen. Wie lautet der Aufruf.
Wie übergibst Du denn momentan die Daten?
Wenn ich von VBA ausgehe, dann sprichst Du vermutlich den Range an, an dem die Daten eingefügt werden sollen.
Ergänze dann diese Angabe einfach mit dem Namen des Tabellenblattes:
Worksheets(„MeinTabellenblatt“).Range(„A1“)
Mit freundlichen Grüssen
Thomas Ramel
- MVP für MS-Excel -
Das ist möglich über die Automatierung, d.h. über Programmierung in Visual Basic von Access. Suche im Internet nach „visual basic 6 export database to excel“. Die Lösung ist zwar für Visual Basic, aber du kannst sie ziemlich 1:1 nach Access übernehmen. Ein Beispiel ist z.B.:
01 Private Sub cmdprint_Click()
02 Dim oExcel As Object
03 Dim oBook As Object
04 Dim oSheet As Object
05
06 Set oExcel = CreateObject(„Excel.Application“)
07 Set oBook = oExcel.Workbooks.Add
08
09 Dim DataArray(1 To 200, 1 To 4) As Variant
10
11 Dim r As Integer
12 Dim NumberOfRows As Integer
13 NumberOfRows = adoDRF.Recordset.RecordCount
14 adoDRF.Recordset.MoveFirst
15
16 For r = 1 To NumberOfRows
17 DataArray(r, 1) = adoDRF.Recordset.Fields(„SrNo“)
18 DataArray(r, 2) = adoDRF.Recordset.Fields(„date“)
19 DataArray(r, 3) = adoDRF.Recordset.Fields(„name“)
20 DataArray(r, 4) = adoDRF.Recordset.Fields(„address“)
21
22 adoDRF.Recordset.MoveNext
23 Next
24 Set oSheet = oBook.Worksheets(1)
25 oSheet.Range(„A1:smiley:1“).Font.Bold = True
26
27 oSheet.Range(„A1:smiley:1“).Value = Array(„Sr.no“, „Date“, „Name“, „Address“) ’ Put headers of fields to excel file
28
29
30 oSheet.Range(„A2“).Resize(NumberOfRows, 4).Value = DataArray
31
32 oBook.SaveAs „C:\drf.xls“
33 oExcel.Quit
34
35 adoDRF.Recordset.MoveFirst
36
37 MsgBox „Report File format File Saved“, 64, „Info“
38 End Sub
Ich übergebe Daten aus Access in ein Excel Formular. Das
funktioniert auch. Nun besteht u.a. ein Excel Formular aus
mehreren Tabellenblättern. Kann ich die Daten in ein
bestimmtes Tabellenblatt einfügen. Wie lautet der Aufruf.
Hallo,
ich selbst kenne mich mit dieser Problematik leider nicht aus. Aber vielleicht hilft dir der Code in diesem Link:
http://www.wer-weiss-was.de/Anfragen/www_de/1017188/…
Gruß
Natator
Kannst Du das bitte mal genauer beschreiben, welche Funktion du nutzt. Meine Kristallkugel ist gerade zur Reparatur, daher kann ich schlecht raten, wie ich Dir helfen kann.
Gruß
Vincenz
Ich übergebe Daten aus Access in ein Excel Formular. Das
funktioniert auch. Nun besteht u.a. ein Excel Formular aus
mehreren Tabellenblättern. Kann ich die Daten in ein
bestimmtes Tabellenblatt einfügen. Wie lautet der Aufruf.
Hallo,
versuch es mal mit:
Worksheets(„Name des Shheet“).Activate
Gruß
Ich übergebe Daten aus Access in ein Excel Formular. Das
funktioniert auch. Nun besteht u.a. ein Excel Formular aus
mehreren Tabellenblättern. Kann ich die Daten in ein
bestimmtes Tabellenblatt einfügen. Wie lautet der Aufruf.
Tut mir leid, aber ich verwende kein Access und kann das Problem daher nicht beurteilen. Normalerweise gehe ich davon aus, dass ich Daten aus anderen Anwendungen in Excel *übernehme* und nicht Daten an Excel *übergebe*. Die Übernahme in ein bestimmtes Tabellenblatt ist dann kein Problem.
VG, Mertel
Hallo Jürgen … wurde dein Problem schon gelöst? Falls nein, bitte kurz Bescheid geben … viele Grüße … Jochen
Hi,
noch nicht.
Aus Access rufe ich verschiedene Excel Formulare auf, welche mit Daten aus Access befüllt werden, und danach wird das Formular wieder abgespeichert.
Ich habe eine Tabelle mit verschiedenen FormID für die verschiedenen Formulare. In einer weiteren Spalte ist der Speicherort des Formulars hinterlegt und bei der letzten Spalte der Ablageort.
Über die FormID rufe ich das Formular auf, und über Ranges die verschiedenen Zellen (zb. M7) wo die Daten abgelegt werden sollen.
Ich habe schon nachgelesen, dass es vermutlich mit Worksheets gehen kann. Nur wo und wie gebe ich den Befehl genau an ?
Aus Access rufe ich verschiedene Excel Formulare auf, welche mit Daten aus Access befüllt werden, und danach wird das Formular wieder abgespeichert.
Ich habe eine Tabelle mit verschiedenen FormID für die verschiedenen Formulare. In einer weiteren Spalte ist der Speicherort des Formulars hinterlegt und bei der letzten Spalte der Ablageort.
Über die FormID rufe ich das Formular auf, und über Ranges die verschiedenen Zellen (zb. M7) wo die Daten abgelegt werden sollen.
Ich habe schon nachgelesen, dass es vermutlich mit Worksheets gehen kann. Nur wo und wie gebe ich den Befehl genau an ? …
Gruss Jürgen
Hallo,
also noch mal genauer:
Was meinst Du mit Excel Formular?
Welche Funktion nutzt Du zur Datenübertragung nach Excel?
Was soll genau passieren?
Willst Du geziehlt Zellen in einem Excel Worksheet befüllen?
Aus welchem Zusammenhang heraus soll das passieren?
Gruß
Vincenz
Es ist wahrscheinlich schwierig und auch zu umfangreich Deine Fragen zu beantworten.
Zumal ich auch nicht so fit in Access bin.
Ich kann Dir meine Datenbank mit Programm mailen,
oder Kurz noch einmal
ich rufe das Excel Formular auf mit c:\forms\Preisliste.xls
in meinem range steht dann nur b7 (als Zelle) und die Variable.
Nun habe ich das Problem, dass Preisliste aus 2 Tabellenblättern besteht, und ich möchte gezielt das zweite Tabellenblatt (Vorgaben) aufrufen, und dort in Zelle b6 eine Variable ablegen.
Gruss Jürgen
Damit sind wir ja schon mal ein bißchen weiter:
Du möchtest also die Mappe Preisliste öffnen und dann im Blatt Vorgaben in Zelle b6 einen Wert ablegen.
Das geht m.W. nach nur mit VBA.
Wie weit bist Du damit vertraut?
Das geht dann etwas so (nur aus dem Kopf, kann auch nicht ganz exakt sein):
set XLObj=CreateObject(Excel.Application)
set XLWb=XLObj.OpenWorkbook(„c:\forms\Preisliste.xls“)
set XLWs=XLWb.Worksheets(„Vorlagen“)
XlWs.cells(2,6)=meineVariable
XLWb.save
XLWb.Close
set XLObj=nothing
mittels Google solltest du entsprechende Code-Schnipsel besonders unter ms-office-forum.net finden.
Gruß
Vincenz
Hallo echojuergen,
ich weiss nicht, wie du die Datenübergabe praktizierst. Du kannst die Access-Tabelle in eine Datei exportieren, in Excel den entsprechenden Bereich des Tabellenblatts markieren und die Datei dorthin importieren.
Gruß
Horst Müller
Guten Morgen Jürgen,
so, endlich meine Antwort für dich. Hiermit müsstest du weiterkommen:
Public Sub Excel_Test()
’
Dim excel_app As Object
Dim excel_wbk As Object
Dim excel_ws As Object
Call App_Excel_Start
Set excel_app = GetObject(, „Excel.Application“)
excel_app.Workbooks.Add
Set excel_wbk = excel_app.activeworkbook
Set excel_ws = excel_wbk.sheets(„Tabelle1“)
excel_ws.range(„A1“) = „Tab. 1“
End Sub
Public Sub App_Excel_Start()
’
On Error GoTo App_Start_Excel_ERR
Dim obj_Excel As Object
Set obj_Excel = GetObject(, „excel.application“)
obj_Excel.Visible = True
Exit Sub
App_Start_Excel_ERR:
Set obj_Excel = CreateObject(„excel.application“)
obj_Excel.UserControl = True
obj_Excel.Visible = True
End Sub
Wenn’s Fragen gibt, einfach kurz melden.
Viele Grüße und viel Erfolg
Jochen
Normalerweise müsste die Adressierung mit dem Tabellennamen und einem nachstehenden Ausrufezeichen funktionieren (z.B. tabelle1!A1)
Ich übergebe Daten aus Access in ein Excel Formular. Das
funktioniert auch. Nun besteht u.a. ein Excel Formular aus
mehreren Tabellenblättern. Kann ich die Daten in ein
bestimmtes Tabellenblatt einfügen. Wie lautet der Aufruf.