PDA

Vollständige Version anzeigen : Automatisierung der Suche in Excel (aus Access)


zoid
22.03.2004, 09:48
Hallo!

Ich habe eine VBA-Anwendung in Access, die Excel instanziiert und dort einen String suchen und ersetzen soll. Für Word funktioniert das problemlos, was muss man bei Excel anders machen?

So sieht das bisher bei mir aus:


Sub test()

Dim wApp As Object
Set wApp = CreateObject("Excel.Application.9")

With wApp
.Application.Visible = True

.Workbooks.Open "u:\test\test.xls"

.Cells.Find(What:="testtext", After:=ActiveCell, LookIn:=xlFormulas, _
LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
MatchCase:=False).Activate

' Cells.FindNext(After:=ActiveCell).Activate

End With

Set wApp = Nothing

End Sub


Da bekomme ich eine Fehlermeldung 1004: "Die Find-Eigenschaft des Range-Objekts kann nicht zugeordnet werden."

In Excel selber funktioniert der Befehl (Cells.Find) aber.

Es wäre schön, wenn mir jemand einen Tip geben könnte, warum das nicht funktioniert.

Liebe Grüße
zoid



AD: Code-Tags korrigiert. S. dazu auch Darstellung von Code-Abschnitten (http://www.ms-office-forum.net/forum/showthread.php?s=&threadid=102899#usec).

MXAP
22.03.2004, 10:54
Hallo,

mir fällt auf, dass Du in Formeln suchst. Ist aber vielleicht
so gewollt. Außerdem sagst Du nicht in welchem Sheet.
Wenn Du den Code in EXCEL aufrufst ist ein Sheet i.d.R. schon
aktiv.

Gruß
MXAP

zoid
22.03.2004, 11:13
Hallo MXAP!

Welches Sheet hatte ich nicht angegeben, da ich zum einen in allen Sheets suchen will, zum anderen macht es für das Problem keinen Unterschied. ;-)

Ich hab's gerade nochmal mit .Sheets("test").Select versucht, das ändert nix an der Fehlermeldung. Leider.

Trotzdem Danke für Deine Hilfe.

Gruß
zoid

zoid
22.03.2004, 13:04
Hallo!

Nur zur Info: Ihr könnt aufhören über dieses Problem nachzudenken.

Es liegt irgendwie daran, dass die Excel-Suchfunktion scheinbar nicht alle Parameter annimmt, wenn sie von Access aus aufgerufen wird.

So funktioniert's jedenfalls:

.Cells.Find(What:="testtext", SearchDirection:=xlNext, MatchCase:=False).Activate

Gruß
zoid