Re(4): Kniffliges Problem betreffend Suchfunktion?
Geizhals » Forum » Programmierung » Kniffliges Problem betreffend Suchfunktion? (15 Beiträge, 308 Mal gelesen) Top-100 | Fresh-100
Du bist nicht angemeldet. [ Login/Registrieren ]
....
Re(4): Kniffliges Problem betreffend Suchfunktion?
06.10.2006, 07:47:16
Hallo und vielen Dank für deine wirklich tolle Hilfe!

Gestern habe ich während der Bürostunden ;-) mich nochmals an den Code gemacht, und bin aufgrund deines Erstvorschlages und meiner Modifizierung auf folgendes Ergebnis gekommen:

Sub Dateien_durchsuchen()
Dim Ce As Range

ExcelDateienPfad = "P:\Statistik-Kartei"
SuchBlatt = "Datensätze"
SuchSpalten = "A:F"

SuchBegriff = InputBox("Bitte Suchbegriff eingeben:", "Hallo Kollege " & _
    Application.UserName & "! Wieder mal auf der Suche?")
If SuchBegriff = "" Then Exit Sub

Set Fso = CreateObject("Scripting.FileSystemObject")
Set OXl = CreateObject("Excel.Application")
Set Wb = OXl.Workbooks.Add

Found = 0
For Each F In Fso.GetFolder(ExcelDateienPfad).Files
  If Right(UCase(F.Name), 4) = ".XLS" Then
    Set WbHelp = OXl.Workbooks.Open(F.Path)

    With WbHelp.Sheets(SuchBlatt).Range(SuchSpalten)
     Set Ce = .Find(SuchBegriff)
     If Ce Is Nothing Then
      Beep
      MsgBox "Leider Kollege " & Application.UserName & "...." + vbCr + vbCr + "Der Suchbegriff <" + sBegriff + "> konnte in keiner gespeicherten Datei gefunden werden!", vbCritical
      Exit Sub
     Else
      FirstHit = Ce.Address
      Do
       Found = Found + 1
       Set Ce = .FindNext(Ce)
       Wb.Sheets(1).Range("A" & (Found + 3)) = Found & ".) " & F & " in Zelle " & Ce.Address
       Wb.Sheets(1).Range("A1") = "Es gibt insgesamt " & Found & " Fundstellen des Suchbegriffes <" & SuchBegriff & ">"
       Wb.Sheets(1).Range("A3") = "Fundstellen:"
      Loop While Not Ce Is Nothing And Ce.Address <> FirstHit
     End If
    End With
   WbHelp.Close
  End If
Next
OXl.Visible = True

End Sub

Grundsätzlich hat dies dann auch so funktioniert wie ich es mir vorgestellt habe.

Jedoch richtig abgerundet wurde das Problem erst mit deinem zweiten geposteten Code und dem "ReadOnly"-Hinweis und dem False-Zusatz nach dem .Close Ereignis. :-)

Was haltest du von meinem Ergebnis?
Ist zwar sicherlich nicht so schön gelöst wie dein Vorschlag, aber immerhin ;-)

Ich möchte mich trotzdem nochmals recht herzlich bei dir bedanken!!!!

lG aus Kärnten

SunnyHill.

06.10.2006, 10:02 Uhr - Editiert von SunnyHill, alte Version: hier
Antworten PM Alle Chronologisch Zum Vorgänger
 
Melden nicht möglich
 

Dieses Forum ist eine frei zugängliche Diskussionsplattform.
Der Betreiber übernimmt keine Verantwortung für den Inhalt der Beiträge und behält sich das Recht vor, Beiträge mit rechtswidrigem oder anstößigem Inhalt zu löschen.
Datenschutzerklärung