Live-Forum - Die aktuellen Beiträge
Datum
Titel
19.04.2024 12:23:24
19.04.2024 11:45:34
Anzeige
Archiv - Navigation
412to416
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
412to416
412to416
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

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

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
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
Anzeige
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

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige