Access-o-Mania

Access-Forum (Deutsch/German) => Access Programmierung => Thema gestartet von: Surfhead am Mai 05, 2013, 21:41:52

Titel: Von Access aus Excel Intersect ausführen
Beitrag von: Surfhead am Mai 05, 2013, 21:41:52
Hallo Zusammen,

ich will aus Access heraus per VBA eine Excel Datei bedingt formatieren.
Wenn in der Exceltabelle 1 in Spalte B ein "DE" steht soll der entsprechnde Bereich A:N gelb gefärbt werden, wenn ein NL in Spalte B steht dann soll der Bereich z.B. rot gefärbt werden.

In Excel läuft das Makro, nur wenn ich aus Access heraus das Gleiche versuche bekomme ich bei dem Code unten immer den Fehler:
Laufzeitfehler 424 Object erforderlich bei  Set rng = objExcel.Intersect(Target, objExcel.Range("B2:B400"))
Kann mir jemand weiterhelfen wo der Fehler liegt?

Vielen Dank schon mal


Public Function Formatiermich()
   
    Dim xlApp As Object, xlWB As Object
    Dim xlSheet As Object
   
    Dim Bereich As Object, Zelle As Object, rng As Object
    Dim intIndex As Integer
   
    Set xlApp = CreateObject("Excel.Application")
    xlApp.Visible = True
   
    Set xlWB = xlApp.Workbooks.Open("D:\Dokumente\Mappe2.xlsm", , True)
    xlWB.Sheets(1).Activate
   
   Set xlSheet = xlWB.Sheets(1)

  Set Bereich = xlSheet.Range("A2:N400")
 
  Set rng = objExcel.Intersect(Target, objExcel.Range("B2:B400"))
  If rng Is Nothing Then Exit Function
    For Each Zelle In rng
       Select Case Zelle.Value
           Case "DE": intIndex = 6
           Case "NL": intIndex = 3
           Case "HU": intIndex = 5
           Case Else: intIndex = -4142
         End Select
        Bereich.Rows(Zelle.Row - 1).Interior.ColorIndex = intIndex
    Next

End Function
Titel: Re: Von Access aus Excel Intersect ausführen
Beitrag von: daolix am Mai 05, 2013, 22:00:22
jo und wat issn jetzt Target fürn Object? Ist irgendwie nicht diefiniert. Irgenwie sieht der Code ziemlich zusammengestückelt aus. Auch objExcel ist kein definiertes Object. Wo kommt das her?