Zum Inhalt springen

Empfohlene Beiträge

Geschrieben

hallo,

ich hoffe, es kann mir jemand zu folgendem problem einen tipp geben:

ich habe mehrere abfragen, die wöchentlich nach excel exportiert und dann per email verschickt werden sollen. der export nach excel ansich ist kein problem, das hab ich mit der AusgabeIn-Funktion über ein makro gelöst. da die zahl der abfragen aber immer weiter steigt, will ich nicht jede abfrage in ein einzelnes excel-file ausgeben, sondern alle in ein file aber auf verschiedene tabellenblätter.

gibt es dafür in access eine möglichkeit (per makro oder auch per vba)?

Geschrieben

Ja das ist mit VBA möglich.

Ich habe mal aus Access heraus Excel geöffnet, Tabellenblatt erzeugt und Daten eingefügt.

Jetzt willst Du natürlich auch wissen wie es geht.

Ich muss morgen in der Firma mal nach dem Programm suchen.

Frank

Geschrieben

Hier ist mal ein kleines Beispiel. Dort wird zwar eine Datei zur Bearbeitung geöffnet aber eine neue Datei anlegen sollte ähnlich gehen.


Sub Excel_aktivieren()
Dim Excel As New Excel.Application
Dim Wbk As Excel.Workbook
Dim Wks As Excel.Worksheet

Meldung = SysCmd(acSysCmdSetStatus, "Excel wird gestartet...") 'Meldung in der Statusleiste ausgeben
Set Wbk = Excel.Workbooks.Open(Pfad_Datei)
Set Wks = Wbk.Worksheets(1)

'Excel sichtbar machen
Excel.Visible = True
Excel.StatusBar = "Tabelle wird formatiert..."

'Spalten rechts anordnen
Excel.Range("D:M").Select
Excel.Selection.HorizontalAlignment = xlRight
Excel.Selection.VerticalAlignment = xlBottom
Excel.Range("A:A").Select
Excel.Selection.HorizontalAlignment = xlRight
Excel.Selection.VerticalAlignment = xlBottom

'Überschriften eintragen
Excel.Range("A1").Select
Excel.Range("A1").Font.Bold = True
Excel.Range("A1").Value = "Feld1"
Excel.Range("B1").Value = ""
Excel.Range("C1").Value = ""
Excel.Range("D1").Value = "Feld2"
Excel.Range("D1").Font.Bold = True
Excel.Range("E1").Value = ""
Excel.Range("F1").Value = ""
Excel.Range("G1").Value = ""

Excel.Range("B2:C2").Select
Excel.Selection.Merge 'Zellen verbinden
Excel.Selection.HorizontalAlignment = xlCenter
Excel.Selection.VerticalAlignment = xlBottom

Excel.Range("B3:G3").Select
Excel.Selection.HorizontalAlignment = xlCenter
Excel.Selection.VerticalAlignment = xlBottom

Excel.StatusBar = "Spalten werden formatiert..."
'Spaltengröße automatisch einstellen
Excel.Columns("A:A").EntireColumn.AutoFit
Excel.Columns("B:B").EntireColumn.AutoFit
Excel.Columns("C:C").EntireColumn.AutoFit
Excel.Columns("E:E").EntireColumn.AutoFit
Excel.Columns("G:G").EntireColumn.AutoFit

Excel.StatusBar = "Seite wird eingerichtet..."
'Druckeinstellungen vornehmen
With Excel.ActiveSheet.PageSetup
.PrintTitleRows = ""
.PrintTitleColumns = ""
End With
Excel.ActiveSheet.PageSetup.PrintArea = ""
With Excel.ActiveSheet.PageSetup
.LeftHeader = ""
.CenterHeader = ""
.RightHeader = ""
.LeftFooter = ""
.CenterFooter = "Seite &P von &N"
.RightFooter = ""
.PrintHeadings = False
.PrintGridlines = False
.PrintComments = xlPrintNoComments
.CenterHorizontally = False
.CenterVertically = False
.Orientation = xlLandscape
.Draft = False
.PaperSize = xlPaperA4
.FirstPageNumber = xlAutomatic
.Order = xlDownThenOver
.BlackAndWhite = False
.Zoom = 100
End With
Excel.Range("A1").Select

Excel.StatusBar = "Tabelle wird gespeichert..."
'Datei speichern
Wbk.Save

Excel.StatusBar = "Excel wird beendet..."
'Datei schließen
Wbk.Close

'Excel schlißen
Excel.Quit
Set Excel = Nothing

End Sub
[/code]

Frank

Geschrieben

hab das problem inzwischen gelöst. es gibt auch die möglichkeit, das ganze über ein makro zu machen, "TransferArbeitsblatt" heißt das ganze.

danke für deine hilfe.

Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren

Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde Dich hier an.

Jetzt anmelden

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...