Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

hilfe...

Forumthread: hilfe...

hilfe...
tim
hallo leute, ich verzweifle
der untenstehende code durchsucht zwei geschlossene dateien (test1 + test2) und fügt die ganze zeile aller fundstellen im activen workbook (test3)(sheet 'suchen') ein. so muss es bleiben, denn das wars was ich brauchte.
nun möchte ich den code aber so anpassen, dass mit dem selben suchbegriff (varSuchbegriff) auch das active workbook (test3) durchsucht wird und ebenso alle zeilen der fundstellen ins sheet (suchen) kopiert werden.
kann mir da jemand eine schlefe einbauen?
vielen dank
tim

Sub suchen()
Dim intIndex As Integer, intZeile1 As Integer, intZeile2 As Integer
Dim strDateiname As String
Dim varSuchbegriff As Variant
Dim myRange As Range
Dim myWorksheet As Worksheet
varSuchbegriff = Application.InputBox("Bitte den Suchbegriff eingeben.", "Eingabe")
If varSuchbegriff = False Or Trim(varSuchbegriff) = "" Then Exit Sub
Set myWorksheet = ThisWorkbook.Worksheets("suchen")
myWorksheet.Cells.ClearContents
Application.ScreenUpdating = False
For intIndex = 1 To 2
strDateiname = "test" & Choose(intIndex, "1", "2") & ".xls"
GetObject "D:\" & strDateiname
With Workbooks(strDateiname).Worksheets(Choose(intIndex, "artikel", "beschreibung"))
On Error Resume Next
.ShowAllData
On Error GoTo 0
For intZeile1 = 2 To 500
Set myRange = .Range(.Cells(intZeile1, 1), .Cells(intZeile1, 13)).Find(What:=varSuchbegriff, LookIn:=xlValues, LookAt:=xlPart)
If Not myRange Is Nothing Then
intZeile2 = intZeile2 + 1
myWorksheet.Range(myWorksheet.Cells(intZeile2, 1), myWorksheet.Cells(intZeile2, 13)) = .Range(.Cells(myRange.Row, 1), .Cells(myRange.Row, 13)).Value
End If
Next
End With
Workbooks(strDateiname).Close SaveChanges:=False
Next
Set myRange = Nothing
Set myWorksheet = Nothing
Application.ScreenUpdating = True
End Sub

Anzeige

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: hilfe...
Nepumuk
Hallo Tim,
ich denke du übertreibst mit deinem VBA-Level.


Public Sub suchen()
    Dim intIndex As Integer, intZeile1 As Integer, intZeile2 As Integer
    Dim strDateiname As String
    Dim varSuchbegriff As Variant
    Dim myRange As Range
    Dim myWorksheet As Worksheet
    varSuchbegriff = Application.InputBox("Bitte den Suchbegriff eingeben.", "Eingabe")
    If varSuchbegriff = False Or Trim(varSuchbegriff) = "" Then Exit Sub
    Set myWorksheet = ThisWorkbook.Worksheets("suchen")
    myWorksheet.Cells.ClearContents
    Application.ScreenUpdating = False
    For intIndex = 1 To 3
        strDateiname = "test" & Choose(intIndex, "1", "2", "3") & ".xls"
        If intIndex < 3 Then GetObject "D:\" & strDateiname
        With Workbooks(strDateiname).Worksheets(Choose(intIndex, "artikel", "beschreibung", "?")) 'Achtung !!!!!!!!!!!
            If .FilterMode Then .ShowAllData
            For intZeile1 = 2 To 500
                Set myRange = .Range(.Cells(intZeile1, 1), .Cells(intZeile1, 13)).Find(What:=varSuchbegriff, LookIn:=xlValues, LookAt:=xlPart)
                If Not myRange Is Nothing Then
                    intZeile2 = intZeile2 + 1
                    myWorksheet.Range(myWorksheet.Cells(intZeile2, 1), myWorksheet.Cells(intZeile2, 13)) = .Range(.Cells(myRange.Row, 1), .Cells(myRange.Row, 13)).Value
                End If
            Next
        End With
        If intIndex < 3 Then Workbooks(strDateiname).Close SaveChanges:=False
    Next
    Set myRange = Nothing
    Set myWorksheet = Nothing
    Application.ScreenUpdating = True
End Sub


In der Zeile in der Achtung als Kommentar steht, kommt zwischen die Anführungszeichen, dort wo jetzt die Fragezeichen sind, der Name der Tabelle in Mappe "test3", die zusätzlich durchsucht werden soll.
Gruß
Nepumuk
Anzeige
Gottseidank!
17.04.2004 19:30:14
Josef
Hallo Nepumuk!
Ich freue mich, das du es dir doch anders überlegt hast
und uns in diesem Forum erhalten bleibst!
Gruß Sepp
hallo Nepumuk ...
ypsilon
...welcome back :-)
prima das du wieder da bist !!
cu Micha
OT: Welcome Back!!!
Boris
Hi Großmeister der Codezeilen,
Aushebeler aller VBA-Level,
ehrwürdigster Nepumuk,
schön, dass du wieder da bist (bist du doch, oder?). Du wurdest von allen Seiten schmerzlichst vermisst.
(Du hast doch sicher im Offtopic-Bereich mal nachgesehen? ;-)))
Grüße Boris
Anzeige
AW: OT - Willkommen "daheim"
FP
Hallo Nepumuk,
Na Gott sei Dank war's nur ein Spuk,
dass weg sollt' sein der Nepumuk,
jetzt ist er endlich wieder da,
und alle rufen laut: HURRA!
Servus aus dem Salzkammergut
Franz
Wow,... was für ein Comeback :-))
Ramses
Hallo Nepumuk
Schön dass du wieder Online bist :-))
Gruss Rainer
OT Hallo Nepumuk
FritzF
Das ist mit Abstand der BESTE Thread von heute, vor allem weil Du wieder zurück bist und hoffentlich auch bleibst.
Super und noch einen schönen Sonntag
Gruss Fritz
Aus der Schweiz
Anzeige
;

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige