Supportnet Computer
Planet of Tech

Supportnet / Forum / Datenbanken

Makro aus Access Modul auf importiertes Excel Sheet anwenden





Frage

Hallo! In meiner MS-Access Datenbank importiere ich mit Hilfe eines geschrieben Moduls, verschiedene Excel Tabellen. Das klappt auch wunderbar mit dem Befehl DoCmd.TransferSpreadsheet acImport Das jeweilige Excel Sheet müsste jedoch noch angepasst werden: leerzeichen entfernen..etc...ungewünschte spalten entfernen.. Die dazu passenden Makros habe ich in Excel schon geschrieben, aber wie bekomme ich es hin, dass diese makros auf das Excel sheet angewandt werden, wenn ich die jeweilige Excel Datei aus access heraus importiere? Das ganze soll alles aus dem Access Modul geschehen, die die excel files monatlich neu herauskommen! Für jede Hilfe wäre ich dankbar! doehli20

Antwort 1 von piano

Hallo
Könnte etwa so laufen:

Function ...
Dim ExcelDatei As String
Dim ExcelName As String
Dim tabelle As Object
´ .....
ExcelDatei = ExcelPfad & xExcelName 
   If Not FileExist(ExcelDatei) Then
       DisplayMessage ("Excel-Datei nicht vorhanden !")
      Exit Function
   End If
   Set tabelle = CreateObject("Excel.sheet")
     With tabelle.Application
      .workbooks.Open FileName:=ExcelDatei
      .Visible = False
      .ScreenUpdating = False
´ ....
      .Range(.cells(Löschzeile, 1), .cells(65536, 255)).SELECT
      ´.Rows("3:65536").SELECT
      .Selection.ClearContents
      .cells(Löschzeile, 1).SELECT
´ beliebige Excel-Commands hinter dem Punkt

   .ScreenUpdating = True
   .Save
´   tabelle.Application.Quit
  End with
End Function
 


Du musst nur noch den Verweis auf die Excel-Library einrichten.


Gruß piano

Es wäre nett, wenn Du ein Feedback abgeben könntest,
ob der Lösungsvorschlag Dein Problem gelöst hat.

Antwort 2 von Doehli21

Hallo!

Dein Code klappt wunderbar, ich hab aber dennoch wieder ein Problem. Ich will alle Leerzeichen im Excel Blatt entfernen. Hierzu habe ich den Befehl

.Cells.Value = Application.Trim(.Cells.Value)

verwendet, aber beim Kompilieren kriege ich eine Fehlermeldung "Methode oder Datenobjekt" nicht gefunden. Er findet die Trim Funktion wohl nicht....

Was kann man da machen?

Wenn ich den Code in Excel selber eingebe, dann geht es"!


Danke im Voraus

doehli21

Antwort 3 von piano

Hallo
Zitat:
.Cells.Value = Application.Trim(.Cells.Value)
ist ja auch falsch!
 .Cells.Value = .Trim(.Cells.Value) 

oder
 .Cells.Value = Trim(.Cells.Value) 
(Access-Trim) sind möglich
Gruss piano

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


Ähnliche Themen:


Suche in allen vorhandenen Beiträgen: