Neuigkeiten:

Ist euer Problem gelöst, dann bitte den Knopf "Thema gelöst" drücken!

Mobiles Hauptmenü

Von Access aus Excel Intersect ausführen

Begonnen von Surfhead, Mai 05, 2013, 21:41:52

⏪ vorheriges - nächstes ⏩

Surfhead

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

daolix

#1
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?