Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1276to1280
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

.find funktioniert nicht aber wieso?

.find funktioniert nicht aber wieso?
Dirk
Hallo zusammen,
Ich habe folgendes Problem
Aus word herraus muss ich eine Exceltabelle befüllen.
hierfür muss ich verschiedenste Einträge suchen und die entsprechenden Zeilen dann füllen.
Hier ein Codeausschnitt

Set xlAnw = CreateObject("excel.application")
With xlAnw
.Workbooks.Open FileName:="g:\Makros\test.xls"              'Anpassen
.Visible = True
With .Sheets("Tabelle1")
''''''''''''''''''''''''''Fehlermakierung
Set LZ = .Columns("o").Find(what:="29974", lookat:=xlWhole, LookIn:=xlValues, MatchCase:=True) _
If Not rngCell Is Nothing Then
MsgBox LZ.Address
End If

2 Fragen
1. wieso funktioniert das nicht?
2. wie muss ich LZ Dimen, um die Zelladresse weiter verarbeiten zu können.
Gruß
Dirk

AW: .find funktioniert nicht aber wieso?
24.08.2012 18:12:31
hary
Hallo Dirk
versuch mal.

Dim LZ As Variant
With Sheets("Tabelle1")
Set LZ = .Columns("O").Find(what:="29974", lookat:=xlWhole, LookIn:=xlValues, MatchCase:= _
True) _
If Not LZ Is Nothing Then
MsgBox LZ.Address
End If
End With

gruss hary

AW: .find funktioniert nicht aber wieso?
24.08.2012 18:17:59
Dirk
Hallo hary
Gleicher Fehler
Laufzeitfehler '438'
Objekt unterstützt diese Eigenschaft oder Methode nicht
Gruß
Dirk

AW: .find funktioniert nicht aber wieso?
24.08.2012 18:22:54
Dirk
sorry Tippfehler
Fehlermeldung lautet
Laufzeitfehler '9'
Index außerhalb des Gültigen bereiches

AW: .find funktioniert nicht aber wieso?
24.08.2012 18:36:43
hary
Hallo
Hatte den Punkt vergessen. Vlt. liegts daran.

With .Sheets("Tabelle1")

gruss hary

Anzeige
AW: .find funktioniert nicht aber wieso?
24.08.2012 18:50:54
Dirk
:-D den hatte ich schon ergänzt
Gruß
Dirk

AW: .find funktioniert nicht aber wieso?
24.08.2012 18:58:06
Josef

Hallo Dirk,
ich liebe so halb-gepostete Codes, die kann man so gut lesen und der VBE spinnt auch überhaupt nicht;-))
Dim xlAnw As Object, objWB As Workbook
Dim rng As Range

Set xlAnw = CreateObject("excel.application")
With xlAnw
Set objWB = .Workbooks.Open(Filename:="g:\Makros\test.xls") 'Anpassen
.Visible = True

With objWB.Sheets("Tabelle1")
''''''''''''''''''''''''''Fehlermakierung
Set rng = .Columns("o").Find(what:="29974", lookat:=xlWhole, LookIn:=xlValues, MatchCase:=True) _
  
'''''''''''''''''''''''''''''''
If Not rng Is Nothing Then
  MsgBox rng.Address
End If


« Gruß Sepp »

Anzeige
AW: .find funktioniert nicht aber wieso?
25.08.2012 13:58:45
Dirk
Hallo Sepp,
von dir sowie mir gepostete Code bildet einen eigenständigen Abschnitt.
Es in dem Sinne ein komplette Code
Dieser Code
Sub test()
Dim xlAnw As Object, objWB As Workbook
Dim rng As Range
Set xlAnw = CreateObject("excel.application")
With xlAnw
Set objWB = .Workbooks.Open(FileName:="g:\Makros\test.xls") 'Anpassen
.Visible = True
With objWB.Sheets("Tabelle1")
Set rng = .Columns("o").Find(what:="29974", lookat:=xlWhole, LookIn:=xlValues, MatchCase:=True)
If Not rng Is Nothing Then
MsgBox rng.Address
End If
End With
End With
End Sub
Der Code brint an 2 Stellen einen Kompilierungsfehler "Benutzerdefinierter Typ nicht definiert"
objWB As Workbook
MsgBox rng.Address
Gruß
Dirk
getestet mit office 2003

Anzeige
AW: .find funktioniert nicht aber wieso?
25.08.2012 14:13:38
Josef

Hallo Dirk,
unter komplettem Code verstehe ich von "Sub" bis "End Sub" inkl. aller Variablendeklarationen!
Und das du den Code von Word oder Access oder einem anderen Office-Programm aus startest, hättest du auch schreiben sollen/müssen!
Und das dann natürlich die Excel-Objekte nicht zur Verfügung stehen, müsstest du bei "VBA-gut" auch wissen!
Sub test()
  Dim xlAnw As Object, objWB As Object
  Dim rng As Object
  
  Set xlAnw = CreateObject("excel.application")
  
  With xlAnw
    Set objWB = .Workbooks.Open(Filename:="g:\Makros\test.xls") 'Anpassen
    .Visible = True
    
    With objWB.Sheets("Tabelle1")
      Set rng = .Columns("o").Find(what:="29974", lookat:=xlWhole, LookIn:=xlValues, MatchCase:=True)
      
      If Not rng Is Nothing Then
        MsgBox rng.Address
      End If
      
    End With
    '.Quit
  End With
  
  Set xlAnw = Nothing
  Set onjwb = Nothing
  Set rng = Nothing
End Sub




« Gruß Sepp »

Anzeige
AW: .find funktioniert nicht aber wieso?
25.08.2012 15:03:33
Dirk
Hallo Sepp,
mit dem Code kommt es hier zu folgender Fehlermedung.

Set rng = .Columns("o").Find(what:="29974", lookat:=xlWhole, LookIn:=xlValues, MatchCase:=True)
"Index außerhalb des gültigem Bereiches"
kann man die Objekte irgendwie importieren?
wie z.B. Systeminformationen?
Import system.io
Gruß
Dirk

AW: .find funktioniert nicht aber wieso?
25.08.2012 15:11:40
Josef

Hallo Dirk,
vielleicht solltest du zuerst einmal beschreiben, was du von wo aus (mit welchem Programm) erreichen willst.
Buchstaben in .Columns() sind mir so wie so suspekt, nimm statt dessen die Spaltennummer (15).

« Gruß Sepp »

Anzeige
und natürlich ...
25.08.2012 15:30:08
Josef

... werden xlWhole und xlValues deinem Programm auch nichts sagen.
LookAt:=1, LookIn:=-4163


« Gruß Sepp »

AW: und natürlich ...
25.08.2012 15:48:47
Dirk
Hallo Sepp
LookAt:=1, LookIn:=-4163
das war anscheinend der Ausschlaggebende Punkt
es läuft.
der Vollständigkeitshalber aber
Ich habe mehrere Worddokumente mit einer unbekannten Anzahl an Tabellen
Alle Tabellen, aus einer Worddatei werden in ein Array eingelesen und anschließen der Dateiname, der dazügehührigen Exceldatei ermittelt.
Im Anschluss daran muss die entsprechende Exceldatei mit den Informationen aus dem Worddokument befüllt werden.
Hier sind aber bereits etliche Informationen eingetragen, sodass nicht einfach runtergelistet werden.
Daher brauchte ich unbedingt die .Find funktion, um den eintrag überhaupt erstmal zu finden.
Mit dem Ergebniss der .Find funktion ist nun die Erste Zeile und die Anzahl der zur verfügung Stehenden Zeilen bekannt. (Verbundene Zellen)
Ich denke der Rest sollte jetzt relativ Problemlos von statten gehen.
Vielen Dank für deine Hilfe.
wie bist du eigendlich auf die einträge
LookAt:=1, LookIn:=-4163

gekommen?
Gruß
Dirk

Anzeige
AW: und natürlich ...
25.08.2012 15:53:35
Josef

Hallo Dirk,
gib mal im VBE ins Direktfenster ?xlWhole ein und drücke Enter.

« Gruß Sepp »

305 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige